Claude Code получил нативную поддержку Worktree (и это круто)

BBetter Stack
컴퓨터/소프트웨어AI/미래기술

Transcript

00:00:00Claude Code получил безумное количество
00:00:02обновлений за последнее время: от поддержки SSH в Claude Desktop,
00:00:05предпросмотра приложений и интеграции с GitHub
00:00:07до простого режима в терминале,
00:00:09который убирает навыки, плагины и кастомные инструменты,
00:00:11облегчая выполнение базовых задач.
00:00:13Но самое масштабное обновление — это нативная поддержка work tree,
00:00:16что позволяет вашим агентам работать над несколькими функциями
00:00:18или исправлениями багов изолированно,
00:00:20без необходимости что-либо настраивать вручную.
00:00:23Но не был ли этот релиз поспешным,
00:00:25учитывая, что многие разработчики уже столкнулись с проблемами?
00:00:28Подписывайтесь, и давайте во всем разберемся.
00:00:30Использование рабочих деревьев Git с ИИ-агентами — идея не новая.
00:00:33На самом деле, в Claude Desktop это есть уже какое-то время,
00:00:35и существует множество плагинов и инструментов с этой функцией,
00:00:37например, Claude Squad, о котором мы уже снимали видео.
00:00:41Но лично я не пользовался этим раньше,
00:00:43потому что ручная настройка создает лишнюю когнитивную нагрузку,
00:00:46и я надеюсь, что эта новая фича в Claude Code
00:00:49сильно упростит мне жизнь.
00:00:50Давайте попробуем.
00:00:51Итак, вот простое приложение для списка дел на React, созданное Claude.
00:00:54Честно говоря, я бы не стал писать такое приложение
00:00:56ни для каких целей, кроме тестирования.
00:00:58Как бы то ни было, я хочу добавить переключатель темной темы,
00:01:01потому что этот белый экран меня слепит.
00:01:02Также я хочу добавить сохранение данных
00:01:04в local storage, чтобы список не пропадал при обновлении страницы.
00:01:07И еще мне нужна возможность редактировать задачи.
00:01:10Обычно я бы запихнул все эти задачи в один промпт:
00:01:12темная тема, local storage
00:01:14и редактирование дел.
00:01:16Проблема в том, что если в одной из функций будет баг,
00:01:20мне придется возиться со всем кодом сразу,
00:01:22задерживая релиз остальных исправных фич,
00:01:25так как всё находится в одном PR или одной ветке.
00:01:28Но с рабочими деревьями (work trees)
00:01:28я могу работать над этими фичами в разных ветках
00:01:31одновременно на своей локальной машине
00:01:33без каких-либо ручных манипуляций.
00:01:35И если возникнет проблема с одной функцией,
00:01:37я смогу отправить две другие,
00:01:39а над проблемной продолжить работу в отдельной ветке.
00:01:41Позвольте показать, как это делается.
00:01:42Если я запущу Claude Code с флагом -W,
00:01:45это создаст рабочее дерево
00:01:47со случайным именем, которое выберет Claude.
00:01:49Подождите, Lacan?
00:01:50Ладно.
00:01:52Но если я хочу сам задать имя для work tree,
00:01:54мне нужно указать его сразу после флага -W,
00:01:56вот здесь.
00:01:58Это создает новое рабочее дерево,
00:02:00а также новую ветку,
00:02:02при этом не удаляя предыдущее созданное дерево.
00:02:05Имейте это в виду,
00:02:06если вы начнете создавать много временных деревьев.
00:02:08В директории .claude вашего проекта, в папке worktrees,
00:02:11мы можем найти наше дерево
00:02:13и увидеть все связанные с ним файлы кода.
00:02:15Заметьте, рабочие деревья работают только в том случае,
00:02:16если в проекте инициализирован git
00:02:18и вы сделали хотя бы один коммит.
00:02:20Теперь я могу реализовать все запланированные функции
00:02:22в разных рабочих деревьях.
00:02:24Итак, работа над тремя задачами завершена,
00:02:26и мы видим, что темная тема работает.
00:02:29В этой версии темной темы нет,
00:02:31зато я могу редактировать задачи.
00:02:32Добавлю новую и изменю её здесь.
00:02:35А вот в версии с local storage возникла проблема,
00:02:38но в этом и прелесть рабочих деревьев —
00:02:40я вижу, что две другие функции работают отлично.
00:02:43Так что я могу закоммитить их или создать pull request,
00:02:44а затем сфокусироваться на этой ошибке,
00:02:46используя отдельную сессию Claude Code
00:02:48специально для исправления.
00:02:49Когда работа с деревом закончена,
00:02:51я могу либо оставить его, чтобы вернуться позже,
00:02:53либо удалить его из системы.
00:02:54Если я решу его оставить,
00:02:55я смогу вернуться ровно в то же состояние,
00:02:58указав имя дерева, как вы видите здесь.
00:03:00Я даже могу возобновить сессии из текущего дерева
00:03:03или нажать Control + W, чтобы увидеть все сессии в проекте.
00:03:06Хотя я до конца не уверен,
00:03:07как именно определяется текущая сессия,
00:03:08поскольку сейчас я нахожусь в ветке main.
00:03:11Кстати, о текущей сессии:
00:03:12если вы хотите работать прямо из директории дерева,
00:03:15вы можете либо перейти туда вручную
00:03:16через cd .claude/worktrees и так далее,
00:03:19либо запустить команду с флагом --tmux,
00:03:21который сразу перенесет вас в нужную папку.
00:03:23И если я открою новую панель,
00:03:26вы увидите, что я нахожусь в этом рабочем дереве
00:03:27и могу просматривать файлы, специфичные именно для него.
00:03:30Но самое крутое в рабочих деревьях —
00:03:31это поддержка субагентов.
00:03:33Это значит, что я могу запустить разных субагентов
00:03:35для одновременной работы над фичами в разных ветках
00:03:38в рамках одной сессии Claude Code.
00:03:40И если вы хотите поддержку деревьев в кастомных субагентах,
00:03:42чтобы субагент автоматически создавал себе окружение,
00:03:45вам нужно просто добавить “isolation: worktree”
00:03:48в метаданные (front matter), и Claude сделает всё остальное.
00:03:50В целом, эта функция меня очень впечатлила,
00:03:52и я определенно
00:03:54собираюсь использовать её чаще.
00:03:55Особенно учитывая новые хуки для рабочих деревьев,
00:03:57которые позволяют использовать их без git (например, в SVN, jiu-jitsu),
00:04:00а также дают возможность
00:04:02автоматически запускать скрипты
00:04:04при создании нового рабочего дерева.
00:04:05К сожалению, похоже, что у многих пользователей
00:04:08возникли проблемы с этой функцией
00:04:09после последних обновлений Claude Code,
00:04:11вероятно, из-за ошибки в одном из флагов функций.
00:04:13К счастью, можно заставить Claude Code починить
00:04:17собственный бинарный файл в качестве временной меры,
00:04:18но, надеюсь, команда скоро выпустит полноценное исправление,
00:04:21чтобы все могли оценить эту крутую возможность.
00:04:24Раз уж мы заговорили о крутых инструментах,
00:04:25если вы React-разработчик и ищете CLI-утилиту
00:04:28для автоматического поиска антипаттернов в коде,
00:04:31посмотрите видео от Андриса,
00:04:33в котором он разбирает инструмент React Doctor.

Key Takeaway

Нативная поддержка Worktree в Claude Code революционизирует процесс разработки с ИИ, позволяя изолированно и параллельно внедрять функции, исправлять баги и управлять ветками без когнитивной нагрузки на разработчика.

Highlights

Claude Code получил масштабное обновление с нативной поддержкой Git Worktree для изоляции задач.

Использование рабочих деревьев позволяет ИИ-агенту работать над несколькими фичами одновременно без конфликтов в коде.

Флаг -W автоматически создает новую ветку и директорию в .claude/worktrees для работы над конкретной задачей.

Поддержка субагентов позволяет запускать параллельные процессы разработки в разных ветках внутри одной сессии.

Для кастомных агентов добавлена опция "isolation: worktree" в метаданных для автоматической настройки окружения.

Несмотря на мощный функционал

Timeline

Обзор последних обновлений Claude Code

Автор начинает видео с перечисления внушительного списка недавних улучшений Claude Code, включая поддержку SSH и интеграцию с GitHub. Особое внимание уделяется новому «простому режиму» в терминале, который отключает лишние плагины для ускорения базовых операций. Главной темой выпуска заявляется нативная поддержка рабочих деревьев (worktrees), которая должна кардинально изменить подход к многозадачности. Ведущий также упоминает о возможных проблемах раннего релиза, с которыми уже столкнулось сообщество разработчиков. Этот раздел задает контекст важности обновления как инструмента для снижения когнитивной нагрузки.

Проблема смешивания задач в одном PR

В этой части объясняется, почему традиционный подход к разработке с ИИ-агентами часто приводит к задержкам релизов. Автор демонстрирует тестовое React-приложение и описывает сценарий, где нужно одновременно добавить темную тему, редактирование задач и local storage. Обычно ИИ пытается сделать всё в одной ветке, и баг в одной функции блокирует отправку остальных исправных частей кода. Использование Git Worktree предлагается как решение для физической и логической изоляции каждой задачи на локальной машине. Это позволяет отправлять готовые фичи в pull request по отдельности, не дожидаясь исправления проблемных участков в других ветках.

Практическая работа с флагом -W и рабочими деревьями

Ведущий показывает техническую сторону процесса, запуская Claude Code с использованием флага -W для создания нового рабочего дерева. Он объясняет, как задавать кастомные имена для деревьев и где именно в структуре проекта (директория .claude/worktrees) хранятся временные файлы кода. Важным условием для работы функции является наличие инициализированного Git-репозитория с хотя бы одним коммитом. В ходе демонстрации показано, как две задачи были успешно выполнены, в то время как третья осталась в изоляции из-за ошибки. Пользователь может в любой момент вернуться к конкретной сессии или удалить дерево после завершения работы.

Субагенты, tmux и автоматизация изоляции

Раздел посвящен продвинутым возможностям Claude Code, таким как интеграция с tmux для быстрого перехода в директорию рабочего дерева. Автор подчеркивает мощь субагентов, которые теперь могут параллельно работать над разными задачами в рамках одной сессии благодаря Worktree. Для разработчиков кастомных инструментов демонстрируется добавление строки «isolation: worktree» в front matter метаданные. Также упоминаются новые хуки, которые расширяют возможности использования деревьев за пределами Git, например, в SVN. Это открывает путь к автоматизации запуска скриптов при каждом создании нового изолированного окружения.

Текущие баги и рекомендации по исправлению

Заключительная часть видео посвящена критике стабильности последнего обновления и способам решения возникающих ошибок. Автор отмечает, что многие пользователи столкнулись с некорректной работой флагов, что может быть связано с ошибками в бинарном файле Claude Code. В качестве временного решения предлагается использовать сам Claude Code для починки собственного исполняемого файла. Несмотря на сырость релиза, технология оценивается как крайне перспективная для ежедневной разработки. Видео завершается рекомендацией другого инструмента для React-разработчиков — CLI-утилиты React Doctor для поиска антипаттернов.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video