Git Worktrees for ZCode
Git Worktrees для ZCode
Каждый поток получает собственное рабочее дерево — автоматически. Git Worktrees выдаёт каждому новому потоку ZCode изолированную копию вашего репозитория, поэтому задачи выполняются параллельно без stash, переключения веток или перезаписи друг друга. Начинайте общение — вы уже изолированы.
/worktree:new fix-auth "Refactor the login flow" ← worktree + background agent
/worktree ← dashboard: branches, sizes, agents
/worktree:end fix-auth ← commit everything, remove cleanlyПочему вам это понравится
Ноль настройки. Режим автоматической сессии (включён по умолчанию) выдаёт каждому новому потоку собственное рабочее дерево в момент его запуска — а при возобновлении потока вы возвращаетесь в то же самое. Никаких команд не требуется, никогда.
Никогда не теряйте работу. Удаление грязных рабочих деревьев, запущенных агентов или неслитых веток отклоняется без
force— и даже тогда несохранённые изменения сначала сохраняются в снимок (отслеживаемый diff + неотслеживаемые файлы) в восстанавливаемую директорию. Ветки по умолчанию сохраняются.Ваше окружение путешествует с вами.
.envи подобные файлы (всё, что в gitignore и перечислено в.worktreeinclude) переносятся в новые рабочие деревья;setupCommands(pnpm install,docker compose up -d) выполняются автоматически.Оно не мешает. Рабочие деревья живут в центральном хранилище (
~/.zcode/worktrees), ваши репозитории остаются нетронутыми, а периодическая очистка удерживает использование диска в пределах. Ничего не удаляется молча.
Установка
В ZCode Desktop откройте Настройки → Управление плагинами и нажмите Добавить маркетплейс.
Вставьте репозиторий — подойдёт как GitHub-слаг
owner/repo, так и полный Git URL:agallardol/zcode-git-worktreesУстановите Git Worktrees из каталога.
Откройте любой git-репозиторий и начните поток — вы уже изолированы. Введите
/worktreeдля панели управления.
Требования: ZCode ≥ 3.8.1, node ≥ 18 в PATH, git.
Если /worktree не появляется: выполните node --version в терминале (MCP-серверу нужен node), убедитесь, что плагин включён в разделе «Установленные», и перезапустите ZCode, если вы установили его при открытом приложении.
Related MCP server: hop-mcp
Команды
Команда | Что делает |
| Панель управления — ветка, грязное состояние, размер, активность, запущенные агенты |
| Создать рабочее дерево (дружественное авто-имя, если не указано); с задачей запускает фонового агента, который работает внутри него |
| Статистика diff, неотправленные коммиты, снимки |
| Безопасное удаление — сначала сохраняет несохранённую работу в снимок |
| Периодическая очистка (сначала пробный прогон; пропускает всё грязное/заблокированное/активное) |
| Извлечь GitHub PR в рабочее дерево для ревью |
| Завершение задачи: закоммитить всё с настоящим сообщением, удалить, сохранить ветку |
| Автоматические рабочие деревья для каждой сессии — см. ниже |
За ними: девять MCP-инструментов (worktrees_create, worktrees_list,
worktrees_status, worktrees_remove, worktrees_cleanup, worktrees_prune,
worktrees_snapshot, worktrees_set_task, worktrees_auto_session),
навык для модели и хуки — так что агент может использовать рабочие деревья самостоятельно, когда вы просите о параллельной или изолированной работе.
Автоматические рабочие деревья для сессий (включено по умолчанию)
Каждая новая сессия в основном checkout репозитория получает собственное рабочее дерево (zcode/sess-…); при возобновлении вы возвращаетесь в то же самое, а правки файлов в основном checkout блокируются и перенаправляются в рабочее дерево сессии. Переключите в Настройки → Плагины → Git Worktrees или с помощью /worktree:auto (побеждает последнее изменение). Репозиторий всегда может отказаться:
// .zcode/worktree.json in the repo
{ "autoSession": false }Конфигурация на стороне репозитория (необязательно)
.worktreeinclude — шаблоны в стиле gitignore; только файлы, которые также находятся в gitignore, переносятся в новые рабочие деревья (отслеживаемые файлы никогда не дублируются):
.env
config/secrets.json.zcode/worktree.json — явные файлы, хуки жизненного цикла и переопределение автоматической сессии:
{
"autoSession": true,
"copyFiles": [".env.local"],
"setupCommands": ["pnpm install"],
"preRemoveCommands": ["docker compose down"]
}Настройки плагина (Настройки → Плагины → Git Worktrees): корень рабочих деревьев, базовая ветка по умолчанию (fresh = origin/HEAD с офлайн-запасным вариантом, или head), максимальный возраст в днях (14), максимальное количество рабочих деревьев на проект (15).
Модель безопасности
Ничто не выходит за пределы хранилища — имена проверяются на безопасность пути и git-ref (обход каталогов,
.lock, двойники регистра, трюки с юникодом — всё отклоняется), полные пути защищены от симлинков, пути хранилища канонизируются; неудачныйgit worktree addоткатывает свою ветку.Безопасность параллелизма — мутации сериализуются внутрипроцессной очередью плюс межпроцессный файл блокировки; параллельные создания никогда не теряют состояние.
Самовосстановление — повреждённое состояние карантинируется и перестраивается, рабочие деревья повторно принимаются из git, внеполосные удаления согласуются через
prune/cleanup.Нет выполнения из недоверенных репозиториев —
setupCommands/preRemoveCommandsвыполняются только на рабочих деревьях, которые вы создаёте явно. Автоматические сессии никогда не выполняют команды, предоставленные репозиторием: открытие клонированного репозитория никогда не является выполнением кода. Каждый вызов git идёт черезexecFile; единственное выполнение оболочки — это команды жизненного цикла, на которые вы согласились.
По сравнению с инструментами, которые вдохновили его: извлечение PR по номеру и семантика .worktreeinclude взяты из Claude Code, снимок перед удалением и центральное хранилище — из Codex, ограниченное хранение — из Cursor/Codex — плюс оркестрация задач фоновых агентов и жёсткая изоляция правок, которые ни один из них не предоставляет плагинам.
Тесты
npm test # 129 tests: 80 unit (validators, state, carry-over, hooks, edit guard)
# + 13 integration (real MCP stdio JSON-RPC + protocol edges)
# + 36 adversarial & security (hostile names, races, corrupt
# state, out-of-band damage, exploit regressions)
CI runs the suite on macOS and Linux (Node 20 and 22).Наборы тестов полностью выполняются на локальных фикстурах — без сети, без вызовов моделей.
Примечания и ограничения
Изоляция автоматической сессии мягкая для команд, жёсткая для правок: инструменты Write/Edit блокируются против основного checkout с помощью PreToolUse-защиты; Bash направляется внедрённым контекстом, а не статически контролируется.
У ZCode нет события окончания сессии, поэтому при выходе ничего не коммитится и не удаляется автоматически —
/worktree:endявляется явной финишной чертой, а периодическая очистка собирает то, что осталось бездействующим.Задержка в одну сессию для изменений настроек автоматической сессии (хуки читают маркер, который MCP-сервер синхронизирует при запуске сессии).
Лицензия
MIT © Alfredo Gallardo
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA git worktree manager that enables AI agents to work on different branches simultaneously with automatic coordination, locking, and merge management. Supports creating, managing, and merging git worktrees with setup automation and conflict resolution.86MIT
- AlicenseNot gradedqualityDmaintenanceManages parallel Git worktrees, enabling work on multiple branches simultaneously without stashing or context switching.1MIT
- FlicenseAqualityDmaintenanceEnables Claude to create, manage, and clean up git worktrees automatically, including dependency installation and GitHub PR creation.5
- AlicenseNot gradedqualityAmaintenanceLocal coordination for coding agents that share a Git working tree.3152MIT
Related MCP Connectors
Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.
Git-backed platform for skills, tools, and context for AI agents
Persistent cloud development environments that coding agents create, run and test software in.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/agallardol/zcode-git-worktrees'
If you have feedback or need assistance with the MCP directory API, please join our Discord server