gwq CLI

CLI для git worktree с нечетким поиском: отдельная папка на каждую ветку, чтобы несколько агентов работали параллельно без конфликтов

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

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

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

  • Команды создают и удаляют worktree и ветки, а remove с флагом форсирует удаление несмешанной ветки
  • `gwq exec` и `gwq tmux run` выполняют произвольные команды в выбранных папках
Все причины и проверки

d-kuro/gwq

Установка

Работает в

Ручная установка

brew install d-kuro/tap/gwq

Homebrew для macOS и Linux.

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

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

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

  • Команды создают и удаляют worktree и ветки, а remove с флагом форсирует удаление несмешанной ветки
  • `gwq exec` и `gwq tmux run` выполняют произвольные команды в выбранных папках

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

Что делает

gwq управляет git worktree так же, как `ghq` управляет клонами репозиториев. Worktree кладет ветку в отдельную папку, и в одном репозитории можно держать несколько веток одновременно. Для работы с ИИ-агентами это удобно: каждому агенту достается своя рабочая папка, и параллельные задачи не пересекаются в файлах. Основные команды: `gwq add -b feature/x` создает worktree с новой веткой, `gwq list` и `gwq status` показывают все worktree и состояние изменений, `gwq get` возвращает путь для `cd $(gwq get имя)`, `gwq exec` запускает команду в нужном worktree, а `gwq remove` удаляет его вместе с веткой, если попросить. Выбор ветки и worktree идет через нечеткий поиск. Режим `gwq status --watch` обновляет таблицу в реальном времени и показывает, что делают агенты в каждой папке. Gwq находит worktree во всех репозиториях по каталогу из конфигурации, без отдельного реестра. Для долгих процессов есть `gwq tmux`: команда запускается в постоянной сессии tmux, к которой можно подключиться позже. Поддерживаются автодополнение для `bash`, `zsh` и `fish` и интеграция с оболочкой для `gwq cd`.

Для кого. Для разработчиков, которые запускают несколько агентов (Claude Code, Codex, Cursor) на разных задачах одного репозитория и хотят изолировать их рабочие папки.

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

  • Три задачи на одном репозитории, и по агенту на каждую: `gwq add -b` создает три отдельные папки
  • Нужно запустить тесты в другой ветке, не трогая текущую работу: `gwq exec feature -- npm test`
  • Хочется видеть одним экраном, где в каких worktree есть незакоммиченные изменения: `gwq status --watch`
  • Код ревьюится в соседней ветке, пока вы продолжаете разработку в основной
  • Долгий сервер разработки или сборка должны жить в отдельной сессии tmux, к которой можно вернуться

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

  • Задача одна, и параллельные ветки не нужны: обычного `git checkout` хватит
  • Вы работаете в PowerShell и хотите интеграцию оболочки: для нее поддержки сейчас нет
  • Нужен менеджер сессий агентов с запуском Claude Code и Codex из интерфейса: gwq управляет только worktree и tmux
  • Агенты правят одни и те же файлы: worktree изолирует папки, но слияние веток придется делать самим

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

Создай три worktree через gwq для задач авторизации, графиков и бага входа и запусти в каждом Claude Code

Ограничения

Инструмент не запускает агентов сам, он создает для них папки и показывает состояние. Интеграция оболочки для `gwq cd` и `gwq add -s` работает с `bash`, `zsh` и `fish` и не поддерживается в PowerShell. Часть возможностей (например, автопереход после создания) включается параметрами конфигурации: `cd.launch_shell` и `cd.auto_cd_on_add`. Команда `gwq remove -b --force-delete-branch` удаляет и несмешанную ветку, поэтому перед ней полезен `--dry-run`. Для `gwq tmux` нужен установленный tmux. Конфигурация хранится в файле пользователя, а локальный `.gwq.toml` в проекте переопределяет ее. Worktree изолирует файлы, но не изолирует базы данных, порты и общие сервисы, которые агенты используют одновременно.

Как отключить. Удалите ненужные worktree командой `gwq remove`, затем бинарник: `brew uninstall gwq` или удалите файл из `$GOPATH/bin`. Конфигурация лежит в файле пользователя, локальный `.gwq.toml` можно удалить из проекта.

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

Как поставить gwq?

Через Homebrew: `brew install d-kuro/tap/gwq`. Либо через Go: `go install github.com/d-kuro/gwq/cmd/gwq@latest`. Можно собрать из исходников: клонировать репозиторий и выполнить `go build -o gwq ./cmd/gwq`.

Зачем worktree при работе с несколькими агентами?

У каждого worktree своя рабочая папка с изолированными файлами. Агенты, запущенные в разных папках, не затирают правки друг друга, при этом общую историю и репозиторий используют те же. Автор советует такой подход для независимых задач, параллельных миграций и ревью кода.

Как перейти в нужный worktree?

Командой `cd $(gwq get имя)` или `gwq cd`, которая запускает новую оболочку в папке. Если задать `cd.launch_shell = false` и подключить интеграцию оболочки, `gwq cd` меняет каталог в текущей. Флаг `-g` ищет среди worktree всех репозиториев.

Можно ли следить за изменениями во всех worktree сразу?

Да, `gwq status` показывает таблицу, `--watch` обновляет ее автоматически, `--filter changed` оставляет только папки с изменениями, `--sort activity` сортирует по активности. Результат доступен в JSON и CSV.

Что делает gwq tmux?

Запускает команду в постоянной сессии tmux, например `gwq tmux run --id dev-server "npm run dev"`. Потом сессию можно посмотреть командой `gwq tmux list`, подключиться через `gwq tmux attach dev-server` и завершить через `gwq tmux kill`.

Обсуждение

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

Официальный

Расширение GitHub CLI gh stack и скилл для агента: цепочка зависимых веток и PR, перебазирование, отправка и слияние всего стека целиком

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

CLI открывает локальный git diff в браузере как просмотр правок в пулл-реквесте GitHub; комментарии копируются промптом для агента

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

Терминальный просмотрщик диффов: все файлы одним потоком, а агент через скилл hunk-review ведет по изменениям и оставляет комментарии к строкам

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

CCManager — менеджер сессий Claude Code, Codex, Gemini CLI и других агентов: каждый в своем рабочем дереве Git, со статусом и хуками

CLIШирокий доступ1,3 тыс.Звезды репозитория
Выбор редакции

Индексирует кодовую базу в граф знаний и отдает агенту через MCP связи вызовов, радиус влияния правок и поиск по коду

MCP-серверРасширенный доступ48 тыс.Звезды репозитория

Десктоп-среда для параллельной работы Codex, Claude Code, OpenCode и Pi в отдельных git worktree с мобильным приложением

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

Коротко о README

README объясняет идею (управлять worktree как `ghq` управляет клонами), приводит сценарий с параллельными агентами и три способа установки. Дальше по порядку описаны команды `add`, `list`, `get`, `cd`, `exec`, `remove`, `status`, `tmux`, `config` и `prune` с флагами, глобальное управление worktree, интеграция оболочки и автодополнение. В конце показана связка с `ghq` и `fzf` и ссылка на статью об окружении, удобном для агентов.

Бейдж для README

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

Foxx AIgwq
Foxx AI

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