Контекст
Я запускаю несколько AI-агентов (Claude Code, Cursor, Windsurf) параллельно на одном репозитории. Механизм изоляции — git worktrees: каждый агент получает свою рабочую директорию, при этом .git общий, история не дублируется.
Проблема в управлении. Нативные команды git worktree низкоуровневые — пути руками, нет нейминга, конфиги не копируются. Claude Code Desktop и Codex создают worktrees сами, но у каждого свой подход, единого интерфейса нет, а после работы агента остаются разбросанные директории, которые надо менеджить вручную. И в общем developer experience сейчас не идеален.
git-wt
Я написал git-wt — обёртку на чистом Bash, которая решает это. Выглядит так:
# Создаём 3 изолированных worktree от main git wt add main --copy-env # → "swift-jade" git wt add main --copy-env # → "bold-ember" git wt add main --copy-env # → "calm-frost" # Открываем каждый в отдельном окне редактора git wt open swift-jade --editor cursor git wt open bold-ember --editor cursor git wt open calm-frost --editor cursor # Запускаем AI-агента в каждом — конфликтов нет
Что делает
Автоименование. Каждый worktree получает запоминающееся имя вида
swift-jade— не нужно думать о путях.Централизованное хранение. Все worktrees лежат в
~/.git-wt/, а не в папке проекта.--copy-env. Копирует.envи конфиг-файлы автоматически. Без этого каждый worktree требует ручной настройки перед запуском.Shell-автодополнение. Tab-дополнение для Bash и Zsh — команды, флаги, имена worktrees.
Интеграция с редакторами.
git wt open <имя> --editor codeоткрывает worktree в VS Code или Cursor.Поддержка AI-агентов. В комплекте SKILL.md — Claude Code сам находит и использует
git-wtбез объяснений.
Установка
Ноль зависимостей, 5 секунд:
curl -fsSL https://raw.githubusercontent.com/kuderr/git-wt/main/install.sh | bash
Работает как подкоманда git: git wt <команда>.
Другие сценарии
Не только для AI-агентов — полезно везде, где нужно работать с несколькими ветками:
Код-ревью — чекаутить PR в отдельный worktree, не трогая текущую работу
Хотфиксы — быстро создать worktree для фикса без
git stashТестирование — гонять тесты в одном worktree, разрабатывать в другом
GitHub: https://github.com/kuderr/git-wt
Буду рад звёздам, фидбеку и feature-реквестам.