Что такое workmux?
workmux превращает ветку в рабочее место. Одна команда workmux add создаёт git-worktree, открывает соответствующее окно tmux, копирует файлы, которых не хватает свежей копии (.env, учётные данные), делает симлинки на то, что не хочется переустанавливать (node_modules), выполняет ваши команды подготовки и раскладывает панели так, как вы просили. workmux merge отменяет всё это одним шагом: слить ветку, удалить worktree, закрыть окно, убрать локальную ветку. Никаких stash, переключений веток и недоделанных копий, блокирующих следующую задачу.
⚡ Ключевые возможности workmux
🌿 Одно окно на ветку
workmux add создаёт worktree и окно tmux вместе, так что смена задачи — это смена вкладки, со своей оболочкой, редактором и dev-сервером.
🧰 Worktree, которые действительно работают
Свежий worktree рождается нерабочим. workmux копирует конфиги, делает симлинки на зависимости и выполняет ваши команды post_create, чтобы новая копия сразу была пригодна к работе.
🤖 Агенты параллельно
Запускайте сразу несколько ИИ-агентов, по одному на worktree, и следите за их статусом в имени окна tmux, в TUI-дашборде или в живой боковой панели.
🧹 Уборка одной командой
workmux merge сливает ветку и затем удаляет worktree, окно tmux и локальную ветку; workmux remove убирает всё без слияния.
📄 Настройка в YAML
Глобальный config.yaml для ваших умолчаний и .workmux.yaml для каждого проекта — раскладки панелей, хуки и файловые операции, с вложенностью, удобной для монорепозиториев.
🖥️ Не только tmux
tmux — бэкенд по умолчанию, а kitty, WezTerm и Zellij поддерживаются как альтернативы, так что рабочий процесс подстраивается под ваш терминал.
apt upgrade держит вас на последней версии.
📦 Установка из deb.griffo.io
Шаг 1: Добавить репозиторий
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updatesudo apt install extrepo
sudo extrepo enable griffo
sudo apt update🆓 Есть вечно бесплатное зеркало. deb-free.griffo.io раздаёт пакеты бесплатно навсегда — без аккаунта, без подписки, не более 2 месяцев позади upstream, исправления безопасности сразу. Сейчас там cliamp, Ghostty, lazydocker, Oh My Posh и Zed; workmux среди них нет, поэтому репозиторий выше — единственный способ установить его сегодня; попросите, и его можно добавить.
🧩 О варианте extrepo. extrepo — штатный инструмент Debian для внешних репозиториев: он создаёт файл sources и устанавливает ключ подписи, предварительно сверив его с подписанными метаданными. Этот репозиторий зарегистрирован в нём как griffo, а бесплатное навсегда зеркало — как griffo-free, поэтому в Debian (bookworm, trixie, forky и sid) команды выше и есть вся настройка.
extrepo настраивает только файл sources и ключ — учётные данные подписки по-прежнему прописываются в /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu не поддерживается, так как extrepo публикует метаданные только для выпусков Debian: там используйте команды с sudo или от root.
Шаг 2: Установить workmux
# Установить последнюю версию workmux
sudo apt install workmux
# tmux — бэкенд по умолчанию, но он только рекомендуется,
# потому что kitty, WezTerm и Zellij тоже работают
sudo apt install tmux
# Проверить установку
workmux --version# Установить последнюю версию workmux
apt install workmux
# tmux — бэкенд по умолчанию, но он только рекомендуется,
# потому что kitty, WezTerm и Zellij тоже работают
apt install tmux
# Проверить установку
workmux --versionШаг 3: Первый worktree
# По желанию: написать .workmux.yaml для этого проекта
cd ~/src/my-project
workmux init
# Изнутри tmux: ветка, worktree, окно и панели одной командой
workmux add new-feature
# Когда работа готова: слить и всё убрать
workmux merge
# Дополнения для bash, zsh и fish входят в пакет
workmux --help🎯 Базовые примеры использования
Повседневный цикл:
# Создать ветку, worktree и окно tmux
workmux add fix-login
# Существующая ветка подхватывается по имени
workmux add existing-work
# Отвести ветку не от базы по умолчанию
workmux add hotfix --base production
# Забрать pull request в отдельный worktree
workmux add --pr 123
# Посмотреть всё, что в работе
workmux list
# Слить и всё разобрать
workmux merge
# Или выбросить работу без слияния
workmux remove fix-loginОкна, панели и восстановление:
# Создать окно, не переключаясь на него
workmux add docs-pass --background
# Закрыть окно, сохранив worktree и ветку
workmux close docs-pass
# Открыть его снова позже
workmux open docs-pass
# Восстановить все окна после падения tmux или машины
workmux resurrect
# Перейти в worktree откуда угодно
cd "$(workmux path fix-login)"Агенты, работающие параллельно:
# Установить хуки статуса и skills для вашего агента
workmux setup
# Запустить worktree с промптом для агента
workmux add add-tests --prompt "Добавь юнит-тесты для парсера"
# Смотреть за всеми агентами в одном TUI
workmux dashboard
# Или держать живую боковую панель статуса в tmux
workmux sidebar
# Отправить указание работающему агенту
workmux send add-tests "Покрой также пути ошибок"
# Дождаться, пока этот агент закончит
workmux wait add-tests🔧 Интеграции
workmux намеренно строится на инструментах, которые у вас уже есть:
- git: worktree — это обычные копии
git worktree, так чтоgit, ваши хуки и ваш CI не видят ничего необычного - tmux: по окну на worktree, с именем от ветки и автоматически применённой раскладкой панелей
- kitty, WezTerm и Zellij: поддерживаемые альтернативные бэкенды, если ваш мультиплексор не tmux
- Агенты для кода: отслеживание статуса, передача промптов и skills для Claude Code и других агентов, поддержанных upstream
- Ваша оболочка: дополнения для bash, zsh и fish входят в этот пакет, а
alias wm='workmux'— рекомендованное upstream сокращение
🚀 Почему стоит выбрать deb.griffo.io?
- Официальный Debian: не содержит workmux —
apt install workmuxна стандартной системе не сработает - cargo install workmux: свежая версия, но это сборка Rust на каждой машине, вне apt и без дополнений для оболочки
- Установочный скрипт upstream: удобно, но он пишет в систему в обход пакетного менеджера и обновляется по своему графику
- deb.griffo.io: последняя версия с автоматическими обновлениями
- ✅ Единственный источник apt: workmux нет ни в архивах Debian, ни в архивах Ubuntu; этот репозиторий пакует официальную сборку upstream
- ✅ Поддержка агентов меняется еженедельно: какие агенты workmux умеет отслеживать и запускать, меняется от выпуска к выпуску, так что свежесть решает, работает функция или её просто нет
- ✅ Автоматические обновления: пакеты обновляются в течение нескольких часов после релиза upstream
- ✅ Полный пакет: бинарник upstream как
/usr/bin/workmuxплюс дополнения для bash, zsh и fish - ✅ Честные зависимости: пакет зависит от
gitи рекомендуетtmux, потому что kitty, WezTerm и Zellij тоже поддерживаемые бэкенды - ✅ Две архитектуры: amd64 и arm64, обе со статической линковкой, поэтому один и тот же пакет работает на любом выпуске
- ✅ Много дистрибутивов: работает на Bookworm, Trixie, Forky и Sid
- ✅ Простое обслуживание: обновления обычными командами apt
📦 Репозиторий сборки пакета
Пакеты для Debian собираются и поддерживаются автоматически в этом репозитории GitHub:
- 🧩 workmux-debian - Сборки последних выпусков
🔗 Похожие пакеты
Также доступны в deb.griffo.io:
- lazygit - Терминальный git-интерфейс для работы внутри каждого worktree
- GitUI - Ещё один быстрый терминальный git-клиент, если вам ближе его подход
- Zellij - Поддерживаемая альтернатива tmux в роли мультиплексора
- Serie - Граф коммитов, чтобы разобрать, что ветка на самом деле сделала