Распространённые рабочие процессы
Пошаговые руководства по изучению кодовых баз, исправлению ошибок, рефакторингу, тестированию и другим повседневным задачам с Claude Code.
На этой странице рассматриваются практические рабочие процессы для повседневной разработки: изучение незнакомого кода, отладка, рефакторинг, написание тестов, создание PR и управление сеансами. Каждый раздел включает примеры подсказок, которые вы можете адаптировать к своим проектам. Для получения более высокоуровневых паттернов и советов см. Лучшие практики.
Понимание новых кодовых баз
Получение быстрого обзора кодовой базы
Предположим, вы только что присоединились к новому проекту и вам нужно быстро понять его структуру.
Перейдите в корневой каталог проекта
cd /path/to/project
Запустите Claude Code
claude
Попросите высокоуровневый обзор
give me an overview of this codebase
Углубитесь в конкретные компоненты
explain the main architecture patterns used here
what are the key data models?
how is authentication handled?
Советы:
- Начните с широких вопросов, затем сужайте до конкретных областей
- Спросите о соглашениях кодирования и паттернах, используемых в проекте
- Запросите глоссарий терминов, специфичных для проекта
Поиск релевантного кода
Предположим, вам нужно найти код, связанный с конкретной функцией или функциональностью.
Попросите Claude найти релевантные файлы
find the files that handle user authentication
Получите контекст о том, как компоненты взаимодействуют
how do these authentication files work together?
Поймите поток выполнения
trace the login process from front-end to database
Советы:
- Будьте конкретны в том, что вы ищете
- Используйте предметный язык из проекта
- Установите плагин анализа кода для вашего языка, чтобы дать Claude точную навигацию "перейти к определению" и "найти ссылки"
Эффективное исправление ошибок
Предположим, вы столкнулись с сообщением об ошибке и вам нужно найти и исправить его источник.
Поделитесь ошибкой с Claude
I'm seeing an error when I run npm test
Попросите рекомендации по исправлению
suggest a few ways to fix the @ts-ignore in user.ts
Примените исправление
update user.ts to add the null check you suggested
Советы:
- Скажите Claude команду для воспроизведения проблемы и получите трассировку стека
- Упомяните любые шаги для воспроизведения ошибки
- Дайте Claude знать, является ли ошибка прерывистой или постоянной
Рефакторинг кода
Предположим, вам нужно обновить старый код для использования современных паттернов и практик.
Определите устаревший код для рефакторинга
find deprecated API usage in our codebase
Получите рекомендации по рефакторингу
suggest how to refactor utils.js to use modern JavaScript features
Примените изменения безопасно
refactor utils.js to use ES2024 features while maintaining the same behavior
Проверьте рефакторинг
run tests for the refactored code
Советы:
- Попросите Claude объяснить преимущества современного подхода
- Запросите, чтобы изменения сохраняли обратную совместимость при необходимости
- Выполняйте рефакторинг небольшими, тестируемыми шагами
Использование специализированных subagents
Предположим, вы хотите использовать специализированные AI subagents для более эффективного выполнения конкретных задач.
Просмотрите доступные subagents
/agents
Это показывает все доступные subagents и позволяет создавать новые.
Используйте subagents автоматически
Claude Code автоматически делегирует соответствующие задачи специализированным subagents:
review my recent code changes for security issues
run all tests and fix any failures
Явно запросите конкретные subagents
use the code-reviewer subagent to check the auth module
have the debugger subagent investigate why users can't log in
Создайте пользовательские subagents для вашего рабочего процесса
/agents
Затем выберите "Create New subagent" и следуйте подсказкам для определения:
- Уникального идентификатора, описывающего назначение subagent (например,
code-reviewer,api-designer). - Когда Claude должен использовать этого агента
- Какие инструменты он может использовать
- Системной подсказки, описывающей роль и поведение агента
Советы:
- Создавайте специфичные для проекта subagents в
.claude/agents/для совместного использования в команде - Используйте описательные поля
descriptionдля включения автоматического делегирования - Ограничьте доступ к инструментам только тем, что действительно нужно каждому subagent
- Проверьте документацию subagents для подробных примеров
Использование Plan Mode для безопасного анализа кода
Plan Mode инструктирует Claude создать план путём анализа кодовой базы с операциями только для чтения, идеально подходит для изучения кодовых баз, планирования сложных изменений или безопасного просмотра кода. В Plan Mode Claude использует AskUserQuestion для сбора требований и уточнения ваших целей перед предложением плана.
Когда использовать Plan Mode
- Многошаговая реализация: Когда ваша функция требует редактирования множества файлов
- Изучение кода: Когда вы хотите тщательно исследовать кодовую базу перед внесением каких-либо изменений
- Интерактивная разработка: Когда вы хотите итерировать направление с Claude
Как использовать Plan Mode
Включите Plan Mode во время сеанса
Вы можете переключиться в Plan Mode во время сеанса, используя Shift+Tab для циклического переключения между режимами разрешений.
Если вы находитесь в Normal Mode, Shift+Tab сначала переключается в Auto-Accept Mode, обозначенный ⏵⏵ accept edits on в нижней части терминала. Последующий Shift+Tab переключится в Plan Mode, обозначенный ⏸ plan mode on.
Запустите новый сеанс в Plan Mode
Чтобы запустить новый сеанс в Plan Mode, используйте флаг --permission-mode plan:
claude --permission-mode plan
Запустите "headless" запросы в Plan Mode
Вы также можете запустить запрос в Plan Mode напрямую с -p (то есть в "headless режиме"):
claude --permission-mode plan -p "Analyze the authentication system and suggest improvements"
Пример: Планирование сложного рефакторинга
claude --permission-mode plan
I need to refactor our authentication system to use OAuth2. Create a detailed migration plan.
Claude анализирует текущую реализацию и создаёт подробный план. Уточните с помощью дополнительных вопросов:
What about backward compatibility?
How should we handle database migration?
Нажмите Ctrl+G для открытия плана в вашем текстовом редакторе по умолчанию, где вы можете отредактировать его непосредственно перед тем, как Claude продолжит.
Когда вы принимаете план, Claude автоматически называет сеанс на основе содержимого плана. Имя появляется на строке подсказки и в средстве выбора сеанса. Если вы уже установили имя с помощью --name или /rename, принятие плана не перезапишет его.
Настройка Plan Mode по умолчанию
// .claude/settings.json
{
"permissions": {
"defaultMode": "plan"
}
}
См. документацию параметров для получения дополнительных вариантов конфигурации.
Работа с тестами
Предположим, вам нужно добавить тесты для непокрытого кода.
Определите непротестированный код
find functions in NotificationsService.swift that are not covered by tests
Создайте каркас тестов
add tests for the notification service
Добавьте значимые тестовые случаи
add test cases for edge conditions in the notification service
Запустите и проверьте тесты
run the new tests and fix any failures
Claude может создавать тесты, которые следуют существующим паттернам и соглашениям вашего проекта. При запросе тестов будьте конкретны в отношении поведения, которое вы хотите проверить. Claude изучает ваши существующие файлы тестов, чтобы соответствовать стилю, фреймворкам и паттернам утверждений, уже используемым в проекте.
Для полного покрытия попросите Claude определить граничные случаи, которые вы могли пропустить. Claude может анализировать пути вашего кода и предлагать тесты для условий ошибок, граничных значений и неожиданных входных данных, которые легко упустить.
Создание pull requests
Вы можете создавать pull requests, попросив Claude напрямую ("create a pr for my changes"), или направить Claude пошагово:
Суммируйте ваши изменения
summarize the changes I've made to the authentication module
Создайте pull request
create a pr
Просмотрите и уточните
enhance the PR description with more context about the security improvements
Когда вы создаёте PR с помощью gh pr create, сеанс автоматически связывается с этим PR. Вы можете возобновить его позже с помощью claude --from-pr <number>.
Просмотрите PR, созданный Claude, перед отправкой и попросите Claude выделить потенциальные риски или соображения.
Работа с документацией
Предположим, вам нужно добавить или обновить документацию для вашего кода.
Определите недокументированный код
find functions without proper JSDoc comments in the auth module
Создайте документацию
add JSDoc comments to the undocumented functions in auth.js
Просмотрите и улучшите
improve the generated documentation with more context and examples
Проверьте документацию
check if the documentation follows our project standards
Советы:
- Укажите стиль документации, который вы хотите (JSDoc, docstrings и т.д.)
- Попросите примеры в документации
- Запросите документацию для публичных API, интерфейсов и сложной логики
Работа с заметками и папками, не содержащими код
Claude Code работает в любом каталоге. Запустите его внутри хранилища заметок, папки документации или любой коллекции файлов markdown для поиска, редактирования и переорганизации содержимого так же, как вы работаете с кодом.
Каталог .claude/ и CLAUDE.md находятся рядом с каталогами конфигурации других инструментов без конфликтов. Claude читает файлы заново при каждом вызове инструмента, поэтому он видит изменения, которые вы вносите в другом приложении при следующем чтении этого файла.
Работа с изображениями
Предположим, вам нужно работать с изображениями в вашей кодовой базе, и вы хотите помощь Claude в анализе содержимого изображения.
Добавьте изображение в разговор
Вы можете использовать любой из этих методов:
- Перетащите изображение в окно Claude Code
- Скопируйте изображение и вставьте его в CLI с помощью ctrl+v (не используйте cmd+v)
- Предоставьте Claude путь к изображению. Например, "Analyze this image: /path/to/your/image.png"
Попросите Claude проанализировать изображение
What does this image show?
Describe the UI elements in this screenshot
Are there any problematic elements in this diagram?
Используйте изображения для контекста
Here's a screenshot of the error. What's causing it?
This is our current database schema. How should we modify it for the new feature?
Получите предложения кода из визуального содержимого
Generate CSS to match this design mockup
What HTML structure would recreate this component?
Советы:
- Используйте изображения, когда текстовые описания были бы неясными или громоздкими
- Включайте скриншоты ошибок, дизайны пользовательского интерфейса или диаграммы для лучшего контекста
- Вы можете работать с несколькими изображениями в разговоре
- Анализ изображений работает с диаграммами, скриншотами, макетами и многим другим
- Когда Claude ссылается на изображения (например,
[Image #1]),Cmd+Click(Mac) илиCtrl+Click(Windows/Linux) ссылку для открытия изображения в вашем средстве просмотра по умолчанию
Ссылка на файлы и каталоги
Используйте @ для быстрого включения файлов или каталогов без ожидания, пока Claude их прочитает.
Ссылка на один файл
Explain the logic in @src/utils/auth.js
Это включает полное содержимое файла в разговор.
Ссылка на каталог
What's the structure of @src/components?
Это предоставляет список каталогов с информацией о файлах.
Ссылка на MCP ресурсы
Show me the data from @github:repos/owner/repo/issues
Это получает данные из подключённых MCP серверов, используя формат @server:resource. См. MCP ресурсы для подробностей.
Советы:
- Пути к файлам могут быть относительными или абсолютными
- Ссылки на файлы @ добавляют
CLAUDE.mdв каталог файла и родительские каталоги в контекст - Ссылки на каталоги показывают списки файлов, а не содержимое
- Вы можете ссылаться на несколько файлов в одном сообщении (например, "@file1.js and @file2.js")
Использование расширенного мышления (Thinking Mode)
Расширенное мышление включено по умолчанию, предоставляя Claude пространство для пошагового рассуждения о сложных проблемах перед ответом. Это рассуждение видно в режиме подробности, который вы можете переключить с помощью Ctrl+O. Во время расширенного мышления спиннер показывает встроенные подсказки о ходе выполнения, такие как "still thinking" и "almost done thinking", чтобы указать, что Claude активно работает.
Кроме того, модели, поддерживающие уровень усилий, используют адаптивное рассуждение: вместо фиксированного бюджета токенов мышления модель динамически решает, нужно ли думать и сколько, на основе вашего параметра уровня усилий и поставленной задачи. Адаптивное рассуждение позволяет Claude быстрее отвечать на обычные подсказки и резервировать более глубокое мышление для шагов, которые от этого выигрывают.
Расширенное мышление особенно ценно для сложных архитектурных решений, сложных ошибок, многошагового планирования реализации и оценки компромиссов между различными подходами.
Фразы вроде "think", "think hard" и "think more" интерпретируются как обычные инструкции подсказки и не выделяют токены мышления.
Настройка Thinking Mode
Мышление включено по умолчанию, но вы можете его отрегулировать или отключить.
| Область | Как настроить | Подробности |
|---|---|---|
| Уровень усилий | Запустите /effort, отрегулируйте в /model или установите CLAUDE_CODE_EFFORT_LEVEL |
Контролируйте глубину мышления на поддерживаемых моделях |
Ключевое слово ultrathink |
Включите "ultrathink" в любом месте вашей подсказки | Добавляет встроенную инструкцию, указывающую модели рассуждать больше на этом ходу. Не изменяет сам уровень усилий; см. Отрегулируйте уровень усилий для этого |
| Сочетание клавиш переключения | Нажмите Option+T (macOS) или Alt+T (Windows/Linux) |
Переключите мышление включено/выключено для текущего сеанса (все модели). Может потребоваться конфигурация терминала для включения сочетаний клавиш Option |
| Глобальное значение по умолчанию | Используйте /config для переключения режима мышления |
Устанавливает ваше значение по умолчанию для всех проектов (все модели). Сохраняется как alwaysThinkingEnabled в ~/.claude/settings.json |
| Ограничить бюджет токенов | Установите переменную окружения MAX_THINKING_TOKENS |
Ограничьте бюджет мышления определённым количеством токенов. На моделях с адаптивным рассуждением только 0 применяется, если адаптивное рассуждение не отключено. Пример: export MAX_THINKING_TOKENS=10000 |
Чтобы просмотреть процесс мышления Claude, нажмите Ctrl+O для переключения режима подробности и просмотрите внутреннее рассуждение, отображаемое как серый курсивный текст.
Как работает расширенное мышление
Расширенное мышление контролирует, сколько внутреннего рассуждения Claude выполняет перед ответом. Больше мышления предоставляет больше пространства для изучения решений, анализа граничных случаев и самокоррекции ошибок.
На моделях, поддерживающих уровень усилий, мышление использует адаптивное рассуждение: модель динамически распределяет токены мышления на основе уровня усилий, который вы выбираете. Это рекомендуемый способ настройки компромисса между скоростью и глубиной рассуждения. Если вы хотите, чтобы Claude думал больше или меньше, чем ваш уровень усилий обычно производит, вы также можете сказать об этом прямо в вашей подсказке или в CLAUDE.md.
С более старыми моделями мышление использует фиксированный бюджет токенов, взятый из вашего бюджета вывода. Бюджет варьируется в зависимости от модели; см. MAX_THINKING_TOKENS для потолков для каждой модели. Вы можете ограничить бюджет этой переменной окружения или полностью отключить мышление через /config или переключение Option+T/Alt+T.
На моделях с адаптивным рассуждением MAX_THINKING_TOKENS применяется только при установке на 0 для отключения мышления или когда CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 возвращает модель к фиксированному бюджету. CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING применяется только к Opus 4.6 и Sonnet 4.6. Opus 4.7 всегда использует адаптивное рассуждение и не поддерживает фиксированный бюджет мышления. См. переменные окружения.
Вам выставляется счёт за все использованные токены мышления, даже когда сводки мышления скрыты. В интерактивном режиме мышление по умолчанию отображается как свёрнутая заглушка. Установите showThinkingSummaries: true в settings.json для отображения полных сводок.
Возобновление предыдущих разговоров
При запуске Claude Code вы можете возобновить предыдущий сеанс:
claude --continueпродолжает самый последний разговор в текущем каталогеclaude --resumeоткрывает средство выбора разговора или возобновляет по имениclaude --from-pr 123возобновляет сеансы, связанные с конкретным pull request
Из активного сеанса используйте /resume для переключения на другой разговор.
Когда выбранный сеанс старый и достаточно большой, чтобы его повторное прочтение потребило значительную часть ваших лимитов использования, --resume, --continue и /resume предлагают возобновить с резюме вместо загрузки полной транскрипции. Эта подсказка недоступна на Amazon Bedrock, Google Cloud Vertex AI или Microsoft Foundry.
Сеансы хранятся в каталоге проекта. По умолчанию средство выбора /resume показывает интерактивные сеансы из текущего worktree, с сочетаниями клавиш для расширения списка на другие worktrees или проекты, поиска, предпросмотра и переименования. См. Используйте средство выбора сеанса ниже для полного справочника сочетаний клавиш.
Когда вы выбираете сеанс из другого worktree того же репозитория, Claude Code возобновляет его напрямую без необходимости сначала переключать каталоги. Выбор сеанса из несвязанного проекта копирует команду cd и возобновления в буфер обмена вместо этого.
Возобновление по имени разрешается в текущем репозитории и его worktrees. Как claude --resume <name>, так и /resume <name> ищут точное совпадение и возобновляют его напрямую, даже если сеанс находится в другом worktree.
Когда имя неоднозначно, claude --resume <name> открывает средство выбора с предварительно заполненным именем в качестве поискового термина. /resume <name> из активного сеанса вместо этого сообщает об ошибке, поэтому запустите /resume без аргумента для открытия средства выбора и выбора.
Сеансы, созданные с помощью claude -p или вызовов SDK, не отображаются в средстве выбора, но вы всё равно можете возобновить один, передав его ID сеанса напрямую в claude --resume <session-id>.
Назовите ваши сеансы
Дайте сеансам описательные имена, чтобы найти их позже. Это лучшая практика при работе над несколькими задачами или функциями.
Назовите сеанс
Назовите сеанс при запуске с -n:
claude -n auth-refactor
Или используйте /rename во время сеанса, что также показывает имя на строке подсказки:
/rename auth-refactor
Вы также можете переименовать любой сеанс из средства выбора: запустите /resume, перейдите к сеансу и нажмите Ctrl+R.
Возобновите по имени позже
Из командной строки:
claude --resume auth-refactor
Или из активного сеанса:
/resume auth-refactor
Используйте средство выбора сеанса
Команда /resume (или claude --resume без аргументов) открывает интерактивное средство выбора сеанса со следующими функциями:
Сочетания клавиш в средстве выбора:
| Сочетание клавиш | Действие |
|---|---|
↑ / ↓ |
Навигация между сеансами |
→ / ← |
Развернуть или свернуть сгруппированные сеансы |
Enter |
Выберите и возобновите выделенный сеанс |
Space |
Предпросмотр содержимого сеанса. Ctrl+V также работает на терминалах, которые не захватывают его как вставку |
Ctrl+R |
Переименуйте выделенный сеанс |
/ или любой печатный символ, кроме Space |
Введите режим поиска и отфильтруйте сеансы |
Ctrl+A |
Показать сеансы из всех проектов на этой машине. Нажмите снова для восстановления текущего репозитория |
Ctrl+W |
Показать сеансы из всех worktrees текущего репозитория. Нажмите снова для восстановления текущего worktree. Показывается только в репозиториях с несколькими worktrees |
Ctrl+B |
Отфильтруйте к сеансам из вашей текущей ветки git. Нажмите снова для показа сеансов из всех веток |
Esc |
Выход из средства выбора или режима поиска |
Организация сеанса:
Средство выбора отображает сеансы с полезными метаданными:
- Имя сеанса, если установлено, иначе сводка разговора или первая подсказка пользователя
- Время, прошедшее с момента последней активности
- Количество сообщений
- Ветка Git (если применимо)
- Путь проекта, показанный после расширения на все проекты с помощью
Ctrl+A
Разветвлённые сеансы (созданные с помощью /branch, /rewind или --fork-session) сгруппированы под их корневым сеансом, что облегчает поиск связанных разговоров.
Советы:
- Назовите сеансы рано: Используйте
/renameпри начале работы над отдельной задачей — намного легче найти "payment-integration", чем "explain this function" позже - Используйте
--continueдля быстрого доступа к вашему самому последнему разговору в текущем каталоге - Используйте
--resume session-name, когда вы знаете, какой сеанс вам нужен - Используйте
--resume(без имени), когда вам нужно просмотреть и выбрать - Для скриптов используйте
claude --continue --print "prompt"для возобновления в неинтерактивном режиме - Нажмите
Spaceв средстве выбора для предпросмотра сеанса перед его возобновлением - Возобновлённый разговор начинается с той же модели и конфигурации, что и оригинал
Как это работает:
- Хранилище разговоров: Все разговоры автоматически сохраняются локально с полной историей сообщений
- Десериализация сообщений: При возобновлении вся история сообщений восстанавливается для сохранения контекста
- Состояние инструмента: Использование инструмента и результаты из предыдущего разговора сохраняются
- Восстановление контекста: Разговор возобновляется со всем предыдущим контекстом нетронутым
Запуск параллельных сеансов Claude Code с Git worktrees
При работе над несколькими задачами одновременно вам нужно, чтобы каждый сеанс Claude имел свою копию кодовой базы, чтобы изменения не конфликтовали. Git worktrees решают эту проблему, создавая отдельные рабочие каталоги, которые имеют свои собственные файлы и ветку, при этом совместно используя одну и ту же историю репозитория и удалённые соединения. Это означает, что вы можете иметь Claude, работающего над функцией в одном worktree, пока исправляете ошибку в другом, без того чтобы один сеанс мешал другому.
Используйте флаг --worktree (-w) для создания изолированного worktree и запуска Claude в нём. Значение, которое вы передаёте, становится именем каталога worktree и именем ветки:
# Запустите Claude в worktree с именем "feature-auth"
# Создаёт .claude/worktrees/feature-auth/ с новой веткой
claude --worktree feature-auth
# Запустите другой сеанс в отдельном worktree
claude --worktree bugfix-123
Если вы опустите имя, Claude автоматически создаст случайное:
# Автоматически создаёт имя вроде "bright-running-fox"
claude --worktree
Worktrees создаются в <repo>/.claude/worktrees/<name> и ветвятся из ветки удалённого репозитория по умолчанию, на которую указывает origin/HEAD. Ветка worktree названа worktree-<name>.
Базовая ветка не настраивается через флаг или параметр Claude Code. origin/HEAD — это ссылка, хранящаяся в вашем локальном каталоге .git, которую Git установил один раз при клонировании. Если ветка по умолчанию репозитория позже изменится на GitHub или GitLab, ваша локальная origin/HEAD продолжит указывать на старую, и worktrees будут ветвиться оттуда. Чтобы повторно синхронизировать вашу локальную ссылку с тем, что удалённый сервер в настоящее время считает своей веткой по умолчанию:
git remote set-head origin -a
Это стандартная команда Git, которая обновляет только ваш локальный каталог .git. Ничего на удалённом сервере не изменяется. Если вы хотите, чтобы worktrees базировались на конкретной ветке, а не на удалённой ветке по умолчанию, установите её явно с помощью git remote set-head origin your-branch-name.
Для полного контроля над тем, как создаются worktrees, включая выбор другой базы для каждого вызова, настройте hook WorktreeCreate. Hook заменяет логику git worktree Claude Code по умолчанию полностью, поэтому вы можете получить и ветвиться от любого ref, который вам нужен.
Вы также можете попросить Claude "work in a worktree" или "start a worktree" во время сеанса, и он автоматически создаст один.
Worktrees subagents
Subagents также могут использовать изоляцию worktree для параллельной работы без конфликтов. Попросите Claude "use worktrees for your agents" или настройте это в пользовательском subagent, добавив isolation: worktree в frontmatter агента. Каждый subagent получает свой собственный worktree, который автоматически очищается, когда subagent завершает работу без изменений.
Очистка worktrees
Когда вы выходите из сеанса worktree, Claude обрабатывает очистку на основе того, внесли ли вы изменения:
- Нет изменений: worktree и его ветка удаляются автоматически
- Существуют изменения или коммиты: Claude предлагает вам сохранить или удалить worktree. Сохранение сохраняет каталог и ветку, чтобы вы могли вернуться позже. Удаление удаляет каталог worktree и его ветку, отбрасывая все незафиксированные изменения и коммиты
Subagent worktrees, оставленные без присмотра из-за сбоя или прерванного параллельного запуска, удаляются автоматически при запуске, если они старше вашего параметра cleanupPeriodDays, при условии, что они не имеют незафиксированных изменений, неотслеживаемых файлов и непушированных коммитов. Worktrees, которые вы создаёте с помощью --worktree, никогда не удаляются этой очисткой.
Для очистки worktrees вне сеанса Claude используйте ручное управление worktrees.
Добавьте .claude/worktrees/ в ваш .gitignore для предотвращения появления содержимого worktree как неотслеживаемых файлов в вашем основном репозитории.
Копирование файлов, игнорируемых gitignore, в worktrees
Git worktrees — это свежие checkouts, поэтому они не включают неотслеживаемые файлы, такие как .env или .env.local из вашего основного репозитория. Чтобы автоматически копировать эти файлы при создании worktree Claude, добавьте файл .worktreeinclude в корень вашего проекта.
Файл использует синтаксис .gitignore для перечисления файлов для копирования. Копируются только файлы, которые соответствуют паттерну и также игнорируются gitignore, поэтому отслеживаемые файлы никогда не дублируются.
.env
.env.local
config/secrets.json
Это применяется к worktrees, созданным с помощью --worktree, worktrees subagents и параллельным сеансам в настольном приложении.
Ручное управление worktrees
Для большего контроля над расположением worktree и конфигурацией ветки создавайте worktrees непосредственно с Git. Это полезно, когда вам нужно проверить конкретную существующую ветку или разместить worktree вне репозитория.
# Создайте worktree с новой веткой
git worktree add ../project-feature-a -b feature-a
# Создайте worktree с существующей веткой
git worktree add ../project-bugfix bugfix-123
# Запустите Claude в worktree
cd ../project-feature-a && claude
# Очистите при завершении
git worktree list
git worktree remove ../project-feature-a
Узнайте больше в официальной документации Git worktree.
Помните инициализировать вашу среду разработки в каждом новом worktree в соответствии с установкой вашего проекта. В зависимости от вашего стека это может включать запуск установки зависимостей (npm install, yarn), настройку виртуальных окружений или следование стандартному процессу установки вашего проекта.
Контроль версий, не основанный на git
Изоляция worktree работает с git по умолчанию. Для других систем контроля версий, таких как SVN, Perforce или Mercurial, настройте hooks WorktreeCreate и WorktreeRemove для предоставления пользовательской логики создания и очистки worktree. При настройке эти hooks заменяют поведение git по умолчанию при использовании --worktree, поэтому .worktreeinclude не обрабатывается. Скопируйте любые локальные файлы конфигурации внутри вашего скрипта hook вместо этого.
Для автоматизированной координации параллельных сеансов с общими задачами и обменом сообщениями см. команды агентов.
Получайте уведомления, когда Claude нуждается в вашем внимании
Когда вы запускаете долгоживущую задачу и переключаетесь на другое окно, вы можете настроить уведомления рабочего стола, чтобы узнать, когда Claude завершит работу или нуждается в вашем вводе. Это использует событие Notification hook, которое срабатывает всякий раз, когда Claude ожидает разрешения, неактивен и готов к новой подсказке, или завершает аутентификацию.
Добавьте hook в ваши параметры
Откройте ~/.claude/settings.json и добавьте hook Notification, который вызывает команду уведомления вашей платформы:
{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
}
]
}
]
}
}
{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "notify-send 'Claude Code' 'Claude Code needs your attention'"
}
]
}
]
}
}
{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "powershell.exe -Command \"[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Claude Code needs your attention', 'Claude Code')\""
}
]
}
]
}
}
Если ваш файл параметров уже имеет ключ hooks, объедините запись Notification в него, а не перезаписывайте. Вы также можете попросить Claude написать hook для вас, описав то, что вы хотите в CLI.
Опционально сузьте matcher
По умолчанию hook срабатывает на всех типах уведомлений. Чтобы срабатывать только для конкретных событий, установите поле matcher на одно из этих значений:
| Matcher | Срабатывает когда |
|---|---|
permission_prompt |
Claude нуждается в вашем одобрении для использования инструмента |
idle_prompt |
Claude завершил и ожидает вашей следующей подсказки |
auth_success |
Аутентификация завершена |
elicitation_dialog |
Сервер MCP открывает форму запроса информации |
elicitation_complete |
Форма запроса информации MCP отправлена или отклонена |
elicitation_response |
Ответ на запрос информации MCP отправляется обратно на сервер |
Проверьте hook
Введите /hooks и выберите Notification для подтверждения появления hook. Выбор его показывает команду, которая будет запущена. Чтобы протестировать её от начала до конца, попросите Claude запустить команду, требующую разрешения, и переключитесь от терминала, или попросите Claude напрямую запустить уведомление.
Для полной схемы событий и типов уведомлений см. справочник Notification.
Используйте Claude как утилиту в стиле unix
Добавьте Claude в ваш процесс проверки
Предположим, вы хотите использовать Claude Code как линтер или рецензент кода.
Добавьте Claude в ваш скрипт сборки:
// package.json
{
...
"scripts": {
...
"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.'"
}
}
Советы:
- Используйте Claude для автоматического просмотра кода в вашем конвейере CI/CD
- Настройте подсказку для проверки конкретных проблем, релевантных для вашего проекта
- Рассмотрите создание нескольких скриптов для различных типов проверки
Pipe in, pipe out
Предположим, вы хотите передать данные в Claude и получить данные в структурированном формате.
Передайте данные через Claude:
cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt
Советы:
- Используйте pipes для интеграции Claude в существующие shell-скрипты
- Комбинируйте с другими Unix-инструментами для мощных рабочих процессов
- Рассмотрите использование
--output-formatдля структурированного вывода
Контролируйте формат вывода
Предположим, вам нужен вывод Claude в конкретном формате, особенно при интеграции Claude Code в скрипты или другие инструменты.
Используйте текстовый формат (по умолчанию)
cat data.txt | claude -p 'summarize this data' --output-format text > summary.txt
Это выводит только простой текстовый ответ Claude (поведение по умолчанию).
Используйте JSON формат
cat code.py | claude -p 'analyze this code for bugs' --output-format json > analysis.json
Это выводит JSON массив сообщений с метаданными, включая стоимость и продолжительность.
Используйте потоковый JSON формат
cat log.txt | claude -p 'parse this log file for errors' --output-format stream-json
Это выводит серию JSON объектов в реальном времени по мере обработки запроса Claude. Каждое сообщение является действительным JSON объектом, но весь вывод не является действительным JSON при объединении.
Советы:
- Используйте
--output-format textдля простых интеграций, где вам просто нужен ответ Claude - Используйте
--output-format json, когда вам нужен полный журнал разговора - Используйте
--output-format stream-jsonдля вывода в реальном времени каждого хода разговора
Запуск Claude по расписанию
Предположим, вы хотите, чтобы Claude автоматически выполнял задачу на повторяющейся основе, например просматривая открытые PR каждое утро, проверяя зависимости еженедельно или проверяя сбои CI в течение ночи.
Выберите вариант планирования на основе того, где вы хотите, чтобы задача выполнялась:
| Вариант | Где выполняется | Лучше всего для |
|---|---|---|
| Routines | Инфраструктура, управляемая Anthropic | Задачи, которые должны выполняться даже когда ваш компьютер выключен. Также может срабатывать на вызовы API или события GitHub в дополнение к расписанию. Настройте на claude.ai/code/routines. |
| Запланированные задачи рабочего стола | Ваша машина, через настольное приложение | Задачи, которым нужен прямой доступ к локальным файлам, инструментам или незафиксированным изменениям. |
| GitHub Actions | Ваш конвейер CI | Задачи, связанные с событиями репозитория, такими как открытые PR, или расписания cron, которые должны находиться рядом с конфигурацией рабочего процесса. |
/loop |
Текущий сеанс CLI | Быстрый опрос во время открытого сеанса. Задачи отменяются при начале нового разговора; --resume и --continue восстанавливают неистекшие. |
При написании подсказок для запланированных задач будьте явны в отношении того, что означает успех и что делать с результатами. Задача выполняется автономно, поэтому она не может задавать уточняющие вопросы. Например: "Просмотрите открытые PR с меткой needs-review, оставьте встроенные комментарии по любым проблемам и опубликуйте сводку в канале #eng-reviews Slack."
Спросите Claude о его возможностях
Claude имеет встроенный доступ к своей документации и может ответить на вопросы о своих собственных функциях и ограничениях.
Примеры вопросов
can Claude Code create pull requests?
how does Claude Code handle permissions?
what skills are available?
how do I use MCP with Claude Code?
how do I configure Claude Code for Amazon Bedrock?
what are the limitations of Claude Code?
Claude предоставляет ответы на основе документации на эти вопросы. Для исполняемых примеров, запустите /powerup для интерактивных уроков с анимированными демонстрациями, или обратитесь к конкретным разделам рабочих процессов выше.
Советы:
- Claude всегда имеет доступ к последней документации Claude Code, независимо от версии, которую вы используете
- Задавайте конкретные вопросы для получения подробных ответов
- Claude может объяснить сложные функции, такие как интеграция MCP, конфигурации предприятия и продвинутые рабочие процессы