Как перестать переключать ветки и начать жить с workmux
Представьте: вы глубоко погружены в рефакторинг сложного модуля. Вдруг прилетает критический баг-репорт. Знакомая ситуация? Обычно мы либо делаем git stash, надеясь потом не забыть, что там за гора изменений, либо создаем временный коммит с заголовком «asdf». Но есть способ лучше — работать в параллельных мирах.
Речь пойдет о workmux — инструменте на Rust, который превращает связку git worktree и tmux в мощную среду для параллельной разработки.
Что за зверь этот workmux?
Если коротко: это персональный менеджер контекстов. Вместо того чтобы переключать ветки в одной папке, вы создаете для каждой задачи отдельную директорию (worktree) и автоматически открываемое окно в tmux (или WezTerm/Kitty).
Проект идеально подходит тем, кто:
- Часто переключается между фичами и фиксами.
- Использует CLI-агентов (вроде Claude Code или Gemini CLI) и хочет запускать их параллельно, не боясь, что они перезатрут файлы друг друга.
- Обожает автоматизацию рутины в терминале.

Почему обычного Git недостаточно?
Git worktrees — крутая фича, но «голой» ей пользоваться неудобно. Нужно вручную создавать папки, копировать .env, прокидывать node_modules, настраивать панели в терминале.
Workmux берет всю эту «грязную» работу на себя. Одной командой вы получаете готовую рабочую среду, где уже подтянуты зависимости, запущен dev-server и открыт ваш любимый ИИ-помощник.
Три кита автоматизации workmux
1. Изолированные окружения за секунду
Команда workmux add feature-login делает магию:
- Создает отдельную папку для ветки
feature-login. - Копирует или симлинкает важные файлы (например,
.envили.pnpm-store). - Открывает новое окно в tmux с нужной раскладкой панелей.
- Запускает хуки вроде
npm installили миграций БД.
2. Умный Dashboard для агентов
Если вы делегируете задачи нейросетям, через десять минут у вас может быть пять открытых окон, где что-то происходит. Dashboard в workmux позволяет следить за статусом каждого агента в реальном времени. Вы видите: работает он прямо сейчас, ждет вашего ввода или уже закончил править баг.

3. Бесшовное слияние (Merge & Clean)
Когда задача готова, не нужно вручную удалять папку и чистить ветки. workmux merge заберет изменения, вольет их в основную ветку, закроет окно в терминале и удалит теперь уже ненужный worktree. Конвейер в чистом виде.
Параллельный рабочий процесс с ИИ
Сегодня многие разработчики используют Claude Code или другие CLI-инструменты. Workmux выводит это на новый уровень. Вы можете буквально «натравить» несколько агентов на разные задачи одновременно:
# Одному агенту отдаем авторизацию
workmux add auth-fix -p "Исправь утечку памяти в auth-middleware.ts"
# Второму — верстку
workmux add ui-update -p "Добавь темную тему для страницы настроек"
Каждый агент работает в своей песочнице. Вы переключаетесь между ними через prefix + Tab в tmux, как между вкладками браузера. Кстати, в заголовках окон tmux отображаются иконки статуса: 🤖 (работает), 💬 (ждет ответа), ✅ (готово).

Техническая начинка и конфиги
Инструмент написан на Rust, что гарантирует скорость и минимальное потребление ресурсов. Конфигурация очень гибкая и хранится в YAML. Можно задать глобальные настройки в ~/.config/workmux/config.yaml и переопределять их для конкретного проекта в .workmux.yaml.
Пример настройки панелей:
panes:
- command: <agent> # Запускает Claud/Gemini
focus: true
- command: npm run dev
split: horizontal
size: 30
Для параноиков (в хорошем смысле слова) есть поддержка песочниц (Sandbox). Можно запускать агентов внутри контейнеров Docker или виртуальных машин Lima. Это гарантирует, что ИИ-агент не вылезет за пределы вашего проекта и не прочитает ваши SSH-ключи или AWS-креды.
Практические советы по внедрению
Если вы решите попробовать workmux, вот пара лайфхаков из личного опыта:
- Решаем конфликты портов. Если вы запускаете три копии одного проекта, они все захотят занять порт 3000. В README проекта есть отличный пример Bash-скрипта для
post_create, который генерирует уникальные порты на основе имени ворктри. Пользуйтесь! - Симлинки вместо копирования. Для огромных
node_modulesлучше использоватьpnpmи симлинки, чтобы не забивать диск дубликатами зависимостей. - Rust и Cargo. Если вы пишете на Rust, не симлинкайте папку
target/. Cargo блокирует её при сборке. Используйтеsccacheдля общего кеша — это спасет ваши нервы.
Стоит ли пробовать?
workmux — это не просто утилита, а смена парадигмы. Если вы чувствуете, что переключение веток и ожидание npm install съедают ваше время, этот инструмент станет глотком свежего воздуха. Он превращает терминал в полноценную IDE для параллельной работы, где контекст никогда не теряется.
Особенно проект «зайдет» любителям кастомизировать свой воркфлоу — здесь можно настроить всё: от иконок NerdFont до сложных матриц генерации веток через stdin.
Попробовать просто:
brew install raine/workmux/workmux
# или через cargo
cargo install workmux
Пожалуй, это лучший способ приручить Git worktrees и заставить их работать на вас, а не против вас.
