6 6
7> Пошаговые руководства по изучению кодовых баз, исправлению ошибок, рефакторингу, тестированию и другим повседневным задачам с Claude Code.7> Пошаговые руководства по изучению кодовых баз, исправлению ошибок, рефакторингу, тестированию и другим повседневным задачам с Claude Code.
8 8
9На этой странице рассматриваются практические рабочие процессы для повседневной разработки: изучение незнакомого кода, отладка, рефакторинг, написание тестов, создание PR и управление сеансами. Каждый раздел включает примеры подсказок, которые вы можете адаптировать к своим проектам. Для получения более высокоуровневых паттернов и советов см. [Лучшие практики](/ru/best-practices).9На этой странице собраны короткие рецепты для повседневной разработки. Для получения более высокоуровневого руководства по подсказкам и управлению контекстом см. [Лучшие практики](/ru/best-practices).
10 10
11## Понимание новых кодовых баз11На этой странице рассматриваются:
12 12
13### Получение быстрого обзора кодовой базы13* [Рецепты подсказок](#prompt-recipes) для изучения кода, исправления ошибок, рефакторинга, тестирования, PR и документации
14* [Возобновление предыдущих разговоров](#resume-previous-conversations) для того, чтобы задача могла охватывать несколько сеансов
15* [Запуск параллельных сеансов с worktrees](#run-parallel-sessions-with-worktrees) для того, чтобы одновременные редактирования не конфликтовали
16* [Планирование перед редактированием](#plan-before-editing) для проверки изменений перед их записью на диск
17* [Делегирование исследований subagents](#delegate-research-to-subagents) для сохранения чистоты вашего основного контекста
18* [Передача Claude в скрипты](#pipe-claude-into-scripts) для CI и пакетной обработки
19
20## Рецепты подсказок
21
22Это паттерны подсказок для повседневных задач, таких как изучение незнакомого кода, отладка, рефакторинг, написание тестов и создание PR. Каждый работает на любой поверхности Claude Code; адаптируйте формулировку к вашему проекту.
23
24### Понимание новых кодовых баз
25
26#### Получение быстрого обзора кодовой базы
14 27
15Предположим, вы только что присоединились к новому проекту и вам нужно быстро понять его структуру.28Предположим, вы только что присоединились к новому проекту и вам нужно быстро понять его структуру.
16 29
56 * Запросите глоссарий терминов, специфичных для проекта69 * Запросите глоссарий терминов, специфичных для проекта
57</Tip>70</Tip>
58 71
59### Поиск релевантного кода72#### Поиск релевантного кода
60 73
61Предположим, вам нужно найти код, связанный с конкретной функцией или функциональностью.74Предположим, вам нужно найти код, связанный с конкретной функцией или функциональностью.
62 75
90 103
91***104***
92 105
93## Эффективное исправление ошибок106### Эффективное исправление ошибок
94 107
95Предположим, вы столкнулись с сообщением об ошибке и вам нужно найти и исправить его источник.108Предположим, вы столкнулись с сообщением об ошибке и вам нужно найти и исправить его источник.
96 109
124 137
125***138***
126 139
127## Рефакторинг кода140### Рефакторинг кода
128 141
129Предположим, вам нужно обновить старый код для использования современных паттернов и практик.142Предположим, вам нужно обновить старый код для использования современных паттернов и практик.
130 143
164 177
165***178***
166 179
167## Использование специализированных subagents180### Работа с тестами
168
169Предположим, вы хотите использовать специализированные AI subagents для более эффективного выполнения конкретных задач.
170
171<Steps>
172 <Step title="Просмотрите доступные subagents">
173 ```text theme={null}
174 /agents
175 ```
176
177 Это показывает все доступные subagents и позволяет создавать новые.
178 </Step>
179
180 <Step title="Используйте subagents автоматически">
181 Claude Code автоматически делегирует соответствующие задачи специализированным subagents:
182
183 ```text theme={null}
184 review my recent code changes for security issues
185 ```
186
187 ```text theme={null}
188 run all tests and fix any failures
189 ```
190 </Step>
191
192 <Step title="Явно запросите конкретные subagents">
193 ```text theme={null}
194 use the code-reviewer subagent to check the auth module
195 ```
196
197 ```text theme={null}
198 have the debugger subagent investigate why users can't log in
199 ```
200 </Step>
201
202 <Step title="Создайте пользовательские subagents для вашего рабочего процесса">
203 ```text theme={null}
204 /agents
205 ```
206
207 Затем выберите "Create New subagent" и следуйте подсказкам для определения:
208
209 * Уникального идентификатора, описывающего назначение subagent (например, `code-reviewer`, `api-designer`).
210 * Когда Claude должен использовать этого агента
211 * Какие инструменты он может использовать
212 * Системной подсказки, описывающей роль и поведение агента
213 </Step>
214</Steps>
215
216<Tip>
217 Советы:
218
219 * Создавайте специфичные для проекта subagents в `.claude/agents/` для совместного использования в команде
220 * Используйте описательные поля `description` для включения автоматического делегирования
221 * Ограничьте доступ к инструментам только тем, что действительно нужно каждому subagent
222 * Проверьте [документацию subagents](/ru/sub-agents) для подробных примеров
223</Tip>
224
225***
226
227## Использование Plan Mode для безопасного анализа кода
228
229Plan Mode инструктирует Claude создать план путём анализа кодовой базы с операциями только для чтения, идеально подходит для изучения кодовых баз, планирования сложных изменений или безопасного просмотра кода. В Plan Mode Claude использует [`AskUserQuestion`](/ru/tools-reference) для сбора требований и уточнения ваших целей перед предложением плана.
230
231### Когда использовать Plan Mode
232
233* **Многошаговая реализация**: Когда ваша функция требует редактирования множества файлов
234* **Изучение кода**: Когда вы хотите тщательно исследовать кодовую базу перед внесением каких-либо изменений
235* **Интерактивная разработка**: Когда вы хотите итерировать направление с Claude
236
237### Как использовать Plan Mode
238
239**Включите Plan Mode во время сеанса**
240
241Вы можете переключиться в Plan Mode во время сеанса, используя **Shift+Tab** для циклического переключения между режимами разрешений.
242
243Если вы находитесь в Normal Mode, **Shift+Tab** сначала переключается в Auto-Accept Mode, обозначенный `⏵⏵ accept edits on` в нижней части терминала. Последующий **Shift+Tab** переключится в Plan Mode, обозначенный `⏸ plan mode on`.
244
245**Запустите новый сеанс в Plan Mode**
246
247Чтобы запустить новый сеанс в Plan Mode, используйте флаг `--permission-mode plan`:
248
249```bash theme={null}
250claude --permission-mode plan
251```
252
253**Запустите "headless" запросы в Plan Mode**
254
255Вы также можете запустить запрос в Plan Mode напрямую с `-p` (то есть в ["headless режиме"](/ru/headless)):
256
257```bash theme={null}
258claude --permission-mode plan -p "Analyze the authentication system and suggest improvements"
259```
260
261### Пример: Планирование сложного рефакторинга
262
263```bash theme={null}
264claude --permission-mode plan
265```
266
267```text theme={null}
268I need to refactor our authentication system to use OAuth2. Create a detailed migration plan.
269```
270
271Claude анализирует текущую реализацию и создаёт подробный план. Уточните с помощью дополнительных вопросов:
272
273```text theme={null}
274What about backward compatibility?
275```
276
277```text theme={null}
278How should we handle database migration?
279```
280
281<Tip>Нажмите `Ctrl+G` для открытия плана в вашем текстовом редакторе по умолчанию, где вы можете отредактировать его непосредственно перед тем, как Claude продолжит.</Tip>
282
283Когда вы принимаете план, Claude автоматически называет сеанс на основе содержимого плана. Имя появляется на строке подсказки и в средстве выбора сеанса. Если вы уже установили имя с помощью `--name` или `/rename`, принятие плана не перезапишет его.
284
285### Настройка Plan Mode по умолчанию
286
287```json theme={null}
288// .claude/settings.json
289{
290 "permissions": {
291 "defaultMode": "plan"
292 }
293}
294```
295
296См. [документацию параметров](/ru/settings#available-settings) для получения дополнительных вариантов конфигурации.
297
298***
299
300## Работа с тестами
301 181
302Предположим, вам нужно добавить тесты для непокрытого кода.182Предположим, вам нужно добавить тесты для непокрытого кода.
303 183
333 213
334***214***
335 215
336## Создание pull requests216### Создание pull requests
337 217
338Вы можете создавать pull requests, попросив Claude напрямую ("create a pr for my changes"), или направить Claude пошагово:218Вы можете создавать pull requests, попросив Claude напрямую ("create a pr for my changes"), или направить Claude пошагово:
339 219
357 </Step>237 </Step>
358</Steps>238</Steps>
359 239
360Когда вы создаёте PR с помощью `gh pr create`, сеанс автоматически связывается с этим PR. Вы можете возобновить его позже с помощью `claude --from-pr <number>`.240Когда вы создаёте PR с помощью `gh pr create`, сеанс автоматически связывается с этим PR. Чтобы вернуться к нему позже, запустите `claude --from-pr <number>` или вставьте URL PR в средство выбора [`/resume`](/ru/sessions#use-the-session-picker).
361 241
362<Tip>242<Tip>
363 Просмотрите PR, созданный Claude, перед отправкой и попросите Claude выделить потенциальные риски или соображения.243 Просмотрите PR, созданный Claude, перед отправкой и попросите Claude выделить потенциальные риски или соображения.
364</Tip>244</Tip>
365 245
366## Работа с документацией246### Работа с документацией
367 247
368Предположим, вам нужно добавить или обновить документацию для вашего кода.248Предположим, вам нужно добавить или обновить документацию для вашего кода.
369 249
403 283
404***284***
405 285
406## Работа с заметками и папками, не содержащими код286### Работа с заметками и папками, не содержащими код
407 287
408Claude Code работает в любом каталоге. Запустите его внутри хранилища заметок, папки документации или любой коллекции файлов markdown для поиска, редактирования и переорганизации содержимого так же, как вы работаете с кодом.288Claude Code работает в любом каталоге. Запустите его внутри хранилища заметок, папки документации или любой коллекции файлов markdown для поиска, редактирования и переорганизации содержимого так же, как вы работаете с кодом.
409 289
411 291
412***292***
413 293
414## Работа с изображениями294### Работа с изображениями
415 295
416Предположим, вам нужно работать с изображениями в вашей кодовой базе, и вы хотите помощь Claude в анализе содержимого изображения.296Предположим, вам нужно работать с изображениями в вашей кодовой базе, и вы хотите помощь Claude в анализе содержимого изображения.
417 297
471 351
472***352***
473 353
474## Ссылка на файлы и каталоги354### Ссылка на файлы и каталоги
475 355
476Используйте @ для быстрого включения файлов или каталогов без ожидания, пока Claude их прочитает.356Используйте @ для быстрого включения файлов или каталогов без ожидания, пока Claude их прочитает.
477 357
512 392
513***393***
514 394
515## Использование расширенного мышления (Thinking Mode)395### Запуск Claude по расписанию
516
517[Расширенное мышление](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) включено по умолчанию, предоставляя Claude пространство для пошагового рассуждения о сложных проблемах перед ответом. Это рассуждение видно в режиме подробности, который вы можете переключить с помощью `Ctrl+O`. Во время расширенного мышления спиннер показывает встроенные подсказки о ходе выполнения, такие как "still thinking" и "almost done thinking", чтобы указать, что Claude активно работает.
518
519Кроме того, [модели, поддерживающие уровень усилий](/ru/model-config#adjust-effort-level), используют адаптивное рассуждение: вместо фиксированного бюджета токенов мышления модель динамически решает, нужно ли думать и сколько, на основе вашего параметра уровня усилий и поставленной задачи. Адаптивное рассуждение позволяет Claude быстрее отвечать на обычные подсказки и резервировать более глубокое мышление для шагов, которые от этого выигрывают.
520
521Расширенное мышление особенно ценно для сложных архитектурных решений, сложных ошибок, многошагового планирования реализации и оценки компромиссов между различными подходами.
522
523<Note>
524 Фразы вроде "think", "think hard" и "think more" интерпретируются как обычные инструкции подсказки и не выделяют токены мышления.
525</Note>
526
527### Настройка Thinking Mode
528
529Мышление включено по умолчанию, но вы можете его отрегулировать или отключить.
530
531| Область | Как настроить | Подробности |
532| ------------------------------------ | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
533| **Уровень усилий** | Запустите `/effort`, отрегулируйте в `/model` или установите [`CLAUDE_CODE_EFFORT_LEVEL`](/ru/env-vars) | Контролируйте глубину мышления на [поддерживаемых моделях](/ru/model-config#adjust-effort-level) |
534| **Ключевое слово `ultrathink`** | Включите "ultrathink" в любом месте вашей подсказки | Добавляет встроенную инструкцию, указывающую модели рассуждать больше на этом ходу. Не изменяет сам уровень усилий; см. [Отрегулируйте уровень усилий](/ru/model-config#adjust-effort-level) для этого |
535| **Сочетание клавиш переключения** | Нажмите `Option+T` (macOS) или `Alt+T` (Windows/Linux) | Переключите мышление включено/выключено для текущего сеанса (все модели). Может потребоваться [конфигурация терминала](/ru/terminal-config) для включения сочетаний клавиш Option |
536| **Глобальное значение по умолчанию** | Используйте `/config` для переключения режима мышления | Устанавливает ваше значение по умолчанию для всех проектов (все модели).<br />Сохраняется как `alwaysThinkingEnabled` в `~/.claude/settings.json` |
537| **Ограничить бюджет токенов** | Установите переменную окружения [`MAX_THINKING_TOKENS`](/ru/env-vars) | Ограничьте бюджет мышления определённым количеством токенов. На моделях с адаптивным рассуждением только `0` применяется, если адаптивное рассуждение не отключено. Пример: `export MAX_THINKING_TOKENS=10000` |
538
539Чтобы просмотреть процесс мышления Claude, нажмите `Ctrl+O` для переключения режима подробности и просмотрите внутреннее рассуждение, отображаемое как серый курсивный текст.
540
541### Как работает расширенное мышление
542
543Расширенное мышление контролирует, сколько внутреннего рассуждения Claude выполняет перед ответом. Больше мышления предоставляет больше пространства для изучения решений, анализа граничных случаев и самокоррекции ошибок.
544
545На [моделях, поддерживающих уровень усилий](/ru/model-config#adjust-effort-level), мышление использует адаптивное рассуждение: модель динамически распределяет токены мышления на основе уровня усилий, который вы выбираете. Это рекомендуемый способ настройки компромисса между скоростью и глубиной рассуждения. Если вы хотите, чтобы Claude думал больше или меньше, чем ваш уровень усилий обычно производит, вы также можете сказать об этом прямо в вашей подсказке или в `CLAUDE.md`.
546
547С более старыми моделями мышление использует фиксированный бюджет токенов, взятый из вашего бюджета вывода. Бюджет варьируется в зависимости от модели; см. [`MAX_THINKING_TOKENS`](/ru/env-vars) для потолков для каждой модели. Вы можете ограничить бюджет этой переменной окружения или полностью отключить мышление через `/config` или переключение `Option+T`/`Alt+T`.
548
549На моделях с адаптивным рассуждением `MAX_THINKING_TOKENS` применяется только при установке на `0` для отключения мышления или когда `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` возвращает модель к фиксированному бюджету. `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` применяется только к Opus 4.6 и Sonnet 4.6. Opus 4.7 всегда использует адаптивное рассуждение и не поддерживает фиксированный бюджет мышления. См. [переменные окружения](/ru/env-vars).
550
551<Warning>
552 Вам выставляется счёт за все использованные токены мышления, даже когда сводки мышления скрыты. В интерактивном режиме мышление по умолчанию отображается как свёрнутая заглушка. Установите `showThinkingSummaries: true` в `settings.json` для отображения полных сводок.
553</Warning>
554
555***
556
557## Возобновление предыдущих разговоров
558
559При запуске Claude Code вы можете возобновить предыдущий сеанс:
560
561* `claude --continue` продолжает самый последний разговор в текущем каталоге
562* `claude --resume` открывает средство выбора разговора или возобновляет по имени
563* `claude --from-pr 123` возобновляет сеансы, связанные с конкретным pull request
564
565Из активного сеанса используйте `/resume` для переключения на другой разговор.
566
567Когда выбранный сеанс старый и достаточно большой, чтобы его повторное прочтение потребило значительную часть ваших лимитов использования, `--resume`, `--continue` и `/resume` предлагают возобновить с резюме вместо загрузки полной транскрипции. Эта подсказка недоступна на Amazon Bedrock, Google Cloud Vertex AI или Microsoft Foundry.
568
569Сеансы хранятся в каталоге проекта. По умолчанию средство выбора `/resume` показывает интерактивные сеансы из текущего worktree, с сочетаниями клавиш для расширения списка на другие worktrees или проекты, поиска, предпросмотра и переименования. См. [Используйте средство выбора сеанса](#use-the-session-picker) ниже для полного справочника сочетаний клавиш.
570
571Когда вы выбираете сеанс из другого worktree того же репозитория, Claude Code возобновляет его напрямую без необходимости сначала переключать каталоги. Выбор сеанса из несвязанного проекта копирует команду `cd` и возобновления в буфер обмена вместо этого.
572
573Возобновление по имени разрешается в текущем репозитории и его worktrees. Как `claude --resume <name>`, так и `/resume <name>` ищут точное совпадение и возобновляют его напрямую, даже если сеанс находится в другом worktree.
574
575Когда имя неоднозначно, `claude --resume <name>` открывает средство выбора с предварительно заполненным именем в качестве поискового термина. `/resume <name>` из активного сеанса вместо этого сообщает об ошибке, поэтому запустите `/resume` без аргумента для открытия средства выбора и выбора.
576
577Сеансы, созданные с помощью `claude -p` или вызовов SDK, не отображаются в средстве выбора, но вы всё равно можете возобновить один, передав его ID сеанса напрямую в `claude --resume <session-id>`.
578
579### Назовите ваши сеансы
580
581Дайте сеансам описательные имена, чтобы найти их позже. Это лучшая практика при работе над несколькими задачами или функциями.
582
583<Steps>
584 <Step title="Назовите сеанс">
585 Назовите сеанс при запуске с `-n`:
586
587 ```bash theme={null}
588 claude -n auth-refactor
589 ```
590
591 Или используйте `/rename` во время сеанса, что также показывает имя на строке подсказки:
592
593 ```text theme={null}
594 /rename auth-refactor
595 ```
596
597 Вы также можете переименовать любой сеанс из средства выбора: запустите `/resume`, перейдите к сеансу и нажмите `Ctrl+R`.
598 </Step>
599
600 <Step title="Возобновите по имени позже">
601 Из командной строки:
602
603 ```bash theme={null}
604 claude --resume auth-refactor
605 ```
606
607 Или из активного сеанса:
608
609 ```text theme={null}
610 /resume auth-refactor
611 ```
612 </Step>
613</Steps>
614
615### Используйте средство выбора сеанса
616
617Команда `/resume` (или `claude --resume` без аргументов) открывает интерактивное средство выбора сеанса со следующими функциями:
618
619**Сочетания клавиш в средстве выбора:**
620
621| Сочетание клавиш | Действие |
622| :------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
623| `↑` / `↓` | Навигация между сеансами |
624| `→` / `←` | Развернуть или свернуть сгруппированные сеансы |
625| `Enter` | Выберите и возобновите выделенный сеанс |
626| `Space` | Предпросмотр содержимого сеанса. `Ctrl+V` также работает на терминалах, которые не захватывают его как вставку |
627| `Ctrl+R` | Переименуйте выделенный сеанс |
628| `/` или любой печатный символ, кроме `Space` | Введите режим поиска и отфильтруйте сеансы |
629| `Ctrl+A` | Показать сеансы из всех проектов на этой машине. Нажмите снова для восстановления текущего репозитория |
630| `Ctrl+W` | Показать сеансы из всех worktrees текущего репозитория. Нажмите снова для восстановления текущего worktree. Показывается только в репозиториях с несколькими worktrees |
631| `Ctrl+B` | Отфильтруйте к сеансам из вашей текущей ветки git. Нажмите снова для показа сеансов из всех веток |
632| `Esc` | Выход из средства выбора или режима поиска |
633
634**Организация сеанса:**
635
636Средство выбора отображает сеансы с полезными метаданными:
637
638* Имя сеанса, если установлено, иначе сводка разговора или первая подсказка пользователя
639* Время, прошедшее с момента последней активности
640* Количество сообщений
641* Ветка Git (если применимо)
642* Путь проекта, показанный после расширения на все проекты с помощью `Ctrl+A`
643
644Разветвлённые сеансы (созданные с помощью `/branch`, `/rewind` или `--fork-session`) сгруппированы под их корневым сеансом, что облегчает поиск связанных разговоров.
645
646<Tip>
647 Советы:
648
649 * **Назовите сеансы рано**: Используйте `/rename` при начале работы над отдельной задачей — намного легче найти "payment-integration", чем "explain this function" позже
650 * Используйте `--continue` для быстрого доступа к вашему самому последнему разговору в текущем каталоге
651 * Используйте `--resume session-name`, когда вы знаете, какой сеанс вам нужен
652 * Используйте `--resume` (без имени), когда вам нужно просмотреть и выбрать
653 * Для скриптов используйте `claude --continue --print "prompt"` для возобновления в неинтерактивном режиме
654 * Нажмите `Space` в средстве выбора для предпросмотра сеанса перед его возобновлением
655 * Возобновлённый разговор начинается с той же модели и конфигурации, что и оригинал
656
657 Как это работает:
658
659 1. **Хранилище разговоров**: Все разговоры автоматически сохраняются локально с полной историей сообщений
660 2. **Десериализация сообщений**: При возобновлении вся история сообщений восстанавливается для сохранения контекста
661 3. **Состояние инструмента**: Использование инструмента и результаты из предыдущего разговора сохраняются
662 4. **Восстановление контекста**: Разговор возобновляется со всем предыдущим контекстом нетронутым
663</Tip>
664
665***
666
667## Запуск параллельных сеансов Claude Code с Git worktrees
668
669При работе над несколькими задачами одновременно вам нужно, чтобы каждый сеанс Claude имел свою копию кодовой базы, чтобы изменения не конфликтовали. Git worktrees решают эту проблему, создавая отдельные рабочие каталоги, которые имеют свои собственные файлы и ветку, при этом совместно используя одну и ту же историю репозитория и удалённые соединения. Это означает, что вы можете иметь Claude, работающего над функцией в одном worktree, пока исправляете ошибку в другом, без того чтобы один сеанс мешал другому.
670
671Используйте флаг `--worktree` (`-w`) для создания изолированного worktree и запуска Claude в нём. Значение, которое вы передаёте, становится именем каталога worktree и именем ветки:
672
673```bash theme={null}
674# Запустите Claude в worktree с именем "feature-auth"
675# Создаёт .claude/worktrees/feature-auth/ с новой веткой
676claude --worktree feature-auth
677
678# Запустите другой сеанс в отдельном worktree
679claude --worktree bugfix-123
680```
681
682Если вы опустите имя, Claude автоматически создаст случайное:
683
684```bash theme={null}
685# Автоматически создаёт имя вроде "bright-running-fox"
686claude --worktree
687```
688
689Worktrees создаются в `<repo>/.claude/worktrees/<name>` и ветвятся из ветки удалённого репозитория по умолчанию, на которую указывает `origin/HEAD`. Ветка worktree названа `worktree-<name>`.
690
691Базовая ветка не настраивается через флаг или параметр Claude Code. `origin/HEAD` — это ссылка, хранящаяся в вашем локальном каталоге `.git`, которую Git установил один раз при клонировании. Если ветка по умолчанию репозитория позже изменится на GitHub или GitLab, ваша локальная `origin/HEAD` продолжит указывать на старую, и worktrees будут ветвиться оттуда. Чтобы повторно синхронизировать вашу локальную ссылку с тем, что удалённый сервер в настоящее время считает своей веткой по умолчанию:
692
693```bash theme={null}
694git remote set-head origin -a
695```
696
697Это стандартная команда Git, которая обновляет только ваш локальный каталог `.git`. Ничего на удалённом сервере не изменяется. Если вы хотите, чтобы worktrees базировались на конкретной ветке, а не на удалённой ветке по умолчанию, установите её явно с помощью `git remote set-head origin your-branch-name`.
698
699Для полного контроля над тем, как создаются worktrees, включая выбор другой базы для каждого вызова, настройте [hook WorktreeCreate](/ru/hooks#worktreecreate). Hook заменяет логику `git worktree` Claude Code по умолчанию полностью, поэтому вы можете получить и ветвиться от любого ref, который вам нужен.
700
701Вы также можете попросить Claude "work in a worktree" или "start a worktree" во время сеанса, и он автоматически создаст один.
702
703### Worktrees subagents
704
705Subagents также могут использовать изоляцию worktree для параллельной работы без конфликтов. Попросите Claude "use worktrees for your agents" или настройте это в [пользовательском subagent](/ru/sub-agents#supported-frontmatter-fields), добавив `isolation: worktree` в frontmatter агента. Каждый subagent получает свой собственный worktree, который автоматически очищается, когда subagent завершает работу без изменений.
706
707### Очистка worktrees
708
709Когда вы выходите из сеанса worktree, Claude обрабатывает очистку на основе того, внесли ли вы изменения:
710
711* **Нет изменений**: worktree и его ветка удаляются автоматически
712* **Существуют изменения или коммиты**: Claude предлагает вам сохранить или удалить worktree. Сохранение сохраняет каталог и ветку, чтобы вы могли вернуться позже. Удаление удаляет каталог worktree и его ветку, отбрасывая все незафиксированные изменения и коммиты
713
714Subagent worktrees, оставленные без присмотра из-за сбоя или прерванного параллельного запуска, удаляются автоматически при запуске, если они старше вашего параметра [`cleanupPeriodDays`](/ru/settings#available-settings), при условии, что они не имеют незафиксированных изменений, неотслеживаемых файлов и непушированных коммитов. Worktrees, которые вы создаёте с помощью `--worktree`, никогда не удаляются этой очисткой.
715
716Для очистки worktrees вне сеанса Claude используйте [ручное управление worktrees](#manage-worktrees-manually).
717
718<Tip>
719 Добавьте `.claude/worktrees/` в ваш `.gitignore` для предотвращения появления содержимого worktree как неотслеживаемых файлов в вашем основном репозитории.
720</Tip>
721
722### Копирование файлов, игнорируемых gitignore, в worktrees
723
724Git worktrees — это свежие checkouts, поэтому они не включают неотслеживаемые файлы, такие как `.env` или `.env.local` из вашего основного репозитория. Чтобы автоматически копировать эти файлы при создании worktree Claude, добавьте файл `.worktreeinclude` в корень вашего проекта.
725
726Файл использует синтаксис `.gitignore` для перечисления файлов для копирования. Копируются только файлы, которые соответствуют паттерну и также игнорируются gitignore, поэтому отслеживаемые файлы никогда не дублируются.
727
728```text .worktreeinclude theme={null}
729.env
730.env.local
731config/secrets.json
732```
733
734Это применяется к worktrees, созданным с помощью `--worktree`, worktrees subagents и параллельным сеансам в [настольном приложении](/ru/desktop#work-in-parallel-with-sessions).
735
736### Ручное управление worktrees
737
738Для большего контроля над расположением worktree и конфигурацией ветки создавайте worktrees непосредственно с Git. Это полезно, когда вам нужно проверить конкретную существующую ветку или разместить worktree вне репозитория.
739
740```bash theme={null}
741# Создайте worktree с новой веткой
742git worktree add ../project-feature-a -b feature-a
743
744# Создайте worktree с существующей веткой
745git worktree add ../project-bugfix bugfix-123
746
747# Запустите Claude в worktree
748cd ../project-feature-a && claude
749
750# Очистите при завершении
751git worktree list
752git worktree remove ../project-feature-a
753```
754
755Узнайте больше в [официальной документации Git worktree](https://git-scm.com/docs/git-worktree).
756
757<Tip>
758 Помните инициализировать вашу среду разработки в каждом новом worktree в соответствии с установкой вашего проекта. В зависимости от вашего стека это может включать запуск установки зависимостей (`npm install`, `yarn`), настройку виртуальных окружений или следование стандартному процессу установки вашего проекта.
759</Tip>
760
761### Контроль версий, не основанный на git
762
763Изоляция worktree работает с git по умолчанию. Для других систем контроля версий, таких как SVN, Perforce или Mercurial, настройте [hooks WorktreeCreate и WorktreeRemove](/ru/hooks#worktreecreate) для предоставления пользовательской логики создания и очистки worktree. При настройке эти hooks заменяют поведение git по умолчанию при использовании `--worktree`, поэтому [`.worktreeinclude`](#copy-gitignored-files-to-worktrees) не обрабатывается. Скопируйте любые локальные файлы конфигурации внутри вашего скрипта hook вместо этого.
764
765Для автоматизированной координации параллельных сеансов с общими задачами и обменом сообщениями см. [команды агентов](/ru/agent-teams).
766
767***
768
769## Получайте уведомления, когда Claude нуждается в вашем внимании
770
771Когда вы запускаете долгоживущую задачу и переключаетесь на другое окно, вы можете настроить уведомления рабочего стола, чтобы узнать, когда Claude завершит работу или нуждается в вашем вводе. Это использует событие `Notification` [hook](/ru/hooks-guide#get-notified-when-claude-needs-input), которое срабатывает всякий раз, когда Claude ожидает разрешения, неактивен и готов к новой подсказке, или завершает аутентификацию.
772
773<Steps>
774 <Step title="Добавьте hook в ваши параметры">
775 Откройте `~/.claude/settings.json` и добавьте hook `Notification`, который вызывает команду уведомления вашей платформы:
776
777 <Tabs>
778 <Tab title="macOS">
779 ```json theme={null}
780 {
781 "hooks": {
782 "Notification": [
783 {
784 "matcher": "",
785 "hooks": [
786 {
787 "type": "command",
788 "command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
789 }
790 ]
791 }
792 ]
793 }
794 }
795 ```
796 </Tab>
797
798 <Tab title="Linux">
799 ```json theme={null}
800 {
801 "hooks": {
802 "Notification": [
803 {
804 "matcher": "",
805 "hooks": [
806 {
807 "type": "command",
808 "command": "notify-send 'Claude Code' 'Claude Code needs your attention'"
809 }
810 ]
811 }
812 ]
813 }
814 }
815 ```
816 </Tab>
817
818 <Tab title="Windows">
819 ```json theme={null}
820 {
821 "hooks": {
822 "Notification": [
823 {
824 "matcher": "",
825 "hooks": [
826 {
827 "type": "command",
828 "command": "powershell.exe -Command \"[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Claude Code needs your attention', 'Claude Code')\""
829 }
830 ]
831 }
832 ]
833 }
834 }
835 ```
836 </Tab>
837 </Tabs>
838
839 Если ваш файл параметров уже имеет ключ `hooks`, объедините запись `Notification` в него, а не перезаписывайте. Вы также можете попросить Claude написать hook для вас, описав то, что вы хотите в CLI.
840 </Step>
841
842 <Step title="Опционально сузьте matcher">
843 По умолчанию hook срабатывает на всех типах уведомлений. Чтобы срабатывать только для конкретных событий, установите поле `matcher` на одно из этих значений:
844
845 | Matcher | Срабатывает когда |
846 | :--------------------- | :--------------------------------------------------------------- |
847 | `permission_prompt` | Claude нуждается в вашем одобрении для использования инструмента |
848 | `idle_prompt` | Claude завершил и ожидает вашей следующей подсказки |
849 | `auth_success` | Аутентификация завершена |
850 | `elicitation_dialog` | Сервер MCP открывает форму запроса информации |
851 | `elicitation_complete` | Форма запроса информации MCP отправлена или отклонена |
852 | `elicitation_response` | Ответ на запрос информации MCP отправляется обратно на сервер |
853 </Step>
854
855 <Step title="Проверьте hook">
856 Введите `/hooks` и выберите `Notification` для подтверждения появления hook. Выбор его показывает команду, которая будет запущена. Чтобы протестировать её от начала до конца, попросите Claude запустить команду, требующую разрешения, и переключитесь от терминала, или попросите Claude напрямую запустить уведомление.
857 </Step>
858</Steps>
859
860Для полной схемы событий и типов уведомлений см. [справочник Notification](/ru/hooks#notification).
861
862***
863
864## Используйте Claude как утилиту в стиле unix
865
866### Добавьте Claude в ваш процесс проверки
867
868Предположим, вы хотите использовать Claude Code как линтер или рецензент кода.
869
870**Добавьте Claude в ваш скрипт сборки:**
871
872```json theme={null}
873// package.json
874{
875 ...
876 "scripts": {
877 ...
878 "lint:claude": "claude -p 'you are a linter. please look at the changes vs. main and report any issues related to typos. report the filename and line number on one line, and a description of the issue on the second line. do not return any other text.'"
879 }
880}
881```
882
883<Tip>
884 Советы:
885
886 * Используйте Claude для автоматического просмотра кода в вашем конвейере CI/CD
887 * Настройте подсказку для проверки конкретных проблем, релевантных для вашего проекта
888 * Рассмотрите создание нескольких скриптов для различных типов проверки
889</Tip>
890
891### Pipe in, pipe out
892
893Предположим, вы хотите передать данные в Claude и получить данные в структурированном формате.
894
895**Передайте данные через Claude:**
896
897```bash theme={null}
898cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt
899```
900
901<Tip>
902 Советы:
903
904 * Используйте pipes для интеграции Claude в существующие shell-скрипты
905 * Комбинируйте с другими Unix-инструментами для мощных рабочих процессов
906 * Рассмотрите использование `--output-format` для структурированного вывода
907</Tip>
908
909### Контролируйте формат вывода
910
911Предположим, вам нужен вывод Claude в конкретном формате, особенно при интеграции Claude Code в скрипты или другие инструменты.
912
913<Steps>
914 <Step title="Используйте текстовый формат (по умолчанию)">
915 ```bash theme={null}
916 cat data.txt | claude -p 'summarize this data' --output-format text > summary.txt
917 ```
918
919 Это выводит только простой текстовый ответ Claude (поведение по умолчанию).
920 </Step>
921
922 <Step title="Используйте JSON формат">
923 ```bash theme={null}
924 cat code.py | claude -p 'analyze this code for bugs' --output-format json > analysis.json
925 ```
926
927 Это выводит JSON массив сообщений с метаданными, включая стоимость и продолжительность.
928 </Step>
929
930 <Step title="Используйте потоковый JSON формат">
931 ```bash theme={null}
932 cat log.txt | claude -p 'parse this log file for errors' --output-format stream-json
933 ```
934
935 Это выводит серию JSON объектов в реальном времени по мере обработки запроса Claude. Каждое сообщение является действительным JSON объектом, но весь вывод не является действительным JSON при объединении.
936 </Step>
937</Steps>
938
939<Tip>
940 Советы:
941
942 * Используйте `--output-format text` для простых интеграций, где вам просто нужен ответ Claude
943 * Используйте `--output-format json`, когда вам нужен полный журнал разговора
944 * Используйте `--output-format stream-json` для вывода в реальном времени каждого хода разговора
945</Tip>
946
947***
948
949## Запуск Claude по расписанию
950 396
951Предположим, вы хотите, чтобы Claude автоматически выполнял задачу на повторяющейся основе, например просматривая открытые PR каждое утро, проверяя зависимости еженедельно или проверяя сбои CI в течение ночи.397Предположим, вы хотите, чтобы Claude автоматически выполнял задачу на повторяющейся основе, например просматривая открытые PR каждое утро, проверяя зависимости еженедельно или проверяя сбои CI в течение ночи.
952 398
965 411
966***412***
967 413
968## Спросите Claude о его возможностях414### Спросите Claude о его возможностях
969 415
970Claude имеет встроенный доступ к своей документации и может ответить на вопросы о своих собственных функциях и ограничениях.416Claude имеет встроенный доступ к своей документации и может ответить на вопросы о своих собственных функциях и ограничениях.
971 417
972### Примеры вопросов418#### Примеры вопросов
973 419
974```text theme={null}420```text theme={null}
975can Claude Code create pull requests?421can Claude Code create pull requests?
996```442```
997 443
998<Note>444<Note>
999 Claude предоставляет ответы на основе документации на эти вопросы. Для исполняемых примеров, запустите `/powerup` для интерактивных уроков с анимированными демонстрациями, или обратитесь к конкретным разделам рабочих процессов выше.445 Claude предоставляет ответы на основе документации на эти вопросы. Для исполняемых примеров запустите `/powerup` для интерактивных уроков с анимированными демонстрациями, или обратитесь к конкретным разделам рабочих процессов выше.
1000</Note>446</Note>
1001 447
1002<Tip>448<Tip>
1009 455
1010***456***
1011 457
458## Возобновление предыдущих разговоров
459
460Когда задача охватывает несколько сеансов, продолжайте с того места, где вы остановились, вместо того чтобы переобъяснять контекст. Claude Code сохраняет каждый разговор локально.
461
462```bash theme={null}
463claude --continue
464```
465
466Это возобновляет самый последний сеанс в текущем каталоге; если его ещё нет, выводится `No conversation found to continue` и программа выходит. Используйте `claude --resume` для выбора из списка, или `/resume` из активного сеанса. См. [Управление сеансами](/ru/sessions) для именования, ветвления и полного справочника средства выбора.
467
468## Запуск параллельных сеансов с worktrees
469
470Работайте над функцией в одном терминале, пока Claude исправляет ошибку в другом, без конфликтов редактирования. Каждый worktree — это отдельный checkout на своей собственной ветке.
471
472```bash theme={null}
473claude --worktree feature-auth
474```
475
476Запустите ту же команду с другим именем во втором терминале для запуска изолированного параллельного сеанса. См. [Worktrees](/ru/worktrees) для очистки, `.worktreeinclude` и поддержки VCS, не основанной на git. Для мониторинга параллельных сеансов с одного экрана вместо отдельных терминалов см. [фоновые агенты](/ru/agent-view).
477
478## Планирование перед редактированием
479
480Для изменений, которые вы хотите просмотреть перед их записью на диск, переключитесь в режим плана. Claude читает файлы и предлагает план, но не вносит изменения, пока вы не одобрите.
481
482```bash theme={null}
483claude --permission-mode plan
484```
485
486Вы также можете нажать `Shift+Tab` во время сеанса для переключения в режим плана. См. [Plan Mode](/ru/permission-modes#analyze-before-you-edit-with-plan-mode) для потока одобрения и редактирования плана в вашем текстовом редакторе.
487
488## Делегирование исследований subagents
489
490Изучение большой кодовой базы заполняет ваш контекст чтением файлов. Делегируйте исследование, чтобы только результаты вернулись.
491
492```text theme={null}
493use a subagent to investigate how our auth system handles token refresh
494```
495
496Subagent читает файлы в своём собственном контекстном окне и сообщает сводку. См. [Subagents](/ru/sub-agents) для определения пользовательских агентов с их собственными инструментами и подсказками.
497
498## Передача Claude в скрипты
499
500Запустите Claude неинтерактивно для CI, pre-commit hooks или пакетной обработки. Stdin и stdout работают как любой Unix инструмент.
501
502```bash theme={null}
503git log --oneline -20 | claude -p "summarize these recent commits"
504```
505
506См. [Неинтерактивный режим](/ru/headless) для форматов вывода, флагов разрешений и паттернов fan-out.
507
1012## Следующие шаги508## Следующие шаги
1013 509
1014<CardGroup cols={2}>510<CardGroup cols={2}>
1016 Паттерны для получения максимума от Claude Code512 Паттерны для получения максимума от Claude Code
1017 </Card>513 </Card>
1018 514
1019 <Card title="Как работает Claude Code" icon="gear" href="/ru/how-claude-code-works">515 <Card title="Управление сеансами" icon="rotate-left" href="/ru/sessions">
1020 Поймите агентский цикл и управление контекстом516 Возобновление, именование и ветвление разговоров
1021 </Card>517 </Card>
1022 518
1023 <Card title="Расширьте Claude Code" icon="puzzle-piece" href="/ru/features-overview">519 <Card title="Worktrees" icon="code-branch" href="/ru/worktrees">
1024 Добавьте skills, hooks, MCP, subagents и plugins520 Запуск изолированных параллельных сеансов
1025 </Card>521 </Card>
1026 522
1027 <Card title="Справочная реализация" icon="code" href="https://github.com/anthropics/claude-code/tree/main/.devcontainer">523 <Card title="Расширение Claude Code" icon="puzzle-piece" href="/ru/features-overview">
1028 Клонируйте справочную реализацию контейнера разработки524 Добавление skills, hooks, MCP, subagents и plugins
1029 </Card>525 </Card>
1030</CardGroup>526</CardGroup>