Каждая задача в этом документе включает четкие инструкции, примеры команд и лучшие практики, которые помогут вам получить максимальную отдачу от Claude Code.

Понимание новых кодовых баз

Получение быстрого обзора кодовой базы

Предположим, вы только что присоединились к новому проекту и вам нужно быстро понять его структуру.

1

Перейдите в корневую директорию проекта

cd /path/to/project 
2

Запустите Claude Code

claude 
3

Попросите высокоуровневый обзор

> дайте мне обзор этой кодовой базы 
4

Углубитесь в конкретные компоненты

> объясните основные архитектурные паттерны, используемые здесь 
> какие ключевые модели данных?
> как обрабатывается аутентификация?

Советы:

  • Начинайте с широких вопросов, затем сужайте до конкретных областей
  • Спрашивайте о соглашениях по кодированию и паттернах, используемых в проекте
  • Запрашивайте глоссарий специфичных для проекта терминов

Поиск релевантного кода

Предположим, вам нужно найти код, связанный с конкретной функцией или функциональностью.

1

Попросите Claude найти релевантные файлы

> найдите файлы, которые обрабатывают аутентификацию пользователей 
2

Получите контекст о том, как компоненты взаимодействуют

> как эти файлы аутентификации работают вместе? 
3

Поймите поток выполнения

> проследите процесс входа от фронтенда до базы данных 

Советы:

  • Будьте конкретны в том, что вы ищете
  • Используйте доменный язык из проекта

Эффективное исправление ошибок

Предположим, вы столкнулись с сообщением об ошибке и вам нужно найти и исправить ее источник.

1

Поделитесь ошибкой с Claude

> я вижу ошибку, когда запускаю npm test 
2

Попросите рекомендации по исправлению

> предложите несколько способов исправить @ts-ignore в user.ts 
3

Примените исправление

> обновите user.ts, чтобы добавить проверку на null, которую вы предложили 

Советы:

  • Скажите Claude команду для воспроизведения проблемы и получения трассировки стека
  • Упомяните любые шаги для воспроизведения ошибки
  • Дайте Claude знать, является ли ошибка периодической или постоянной

Рефакторинг кода

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

1

Определите устаревший код для рефакторинга

> найдите использование устаревших API в нашей кодовой базе 
2

Получите рекомендации по рефакторингу

> предложите, как рефакторить utils.js для использования современных возможностей JavaScript 
3

Примените изменения безопасно

> рефакторите utils.js для использования возможностей ES2024, сохраняя то же поведение 
4

Проверьте рефакторинг

> запустите тесты для рефакторенного кода 

Советы:

  • Попросите Claude объяснить преимущества современного подхода
  • Запросите, чтобы изменения поддерживали обратную совместимость при необходимости
  • Делайте рефакторинг небольшими, тестируемыми приращениями

Работа с тестами

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

1

Определите нетестированный код

> найдите функции в NotificationsService.swift, которые не покрыты тестами 
2

Сгенерируйте каркас тестов

> добавьте тесты для сервиса уведомлений 
3

Добавьте значимые тестовые случаи

> добавьте тестовые случаи для граничных условий в сервисе уведомлений 
4

Запустите и проверьте тесты

> запустите новые тесты и исправьте любые сбои 

Советы:

  • Просите тесты, которые покрывают граничные случаи и условия ошибок
  • Запрашивайте как модульные, так и интеграционные тесты, когда это уместно
  • Попросите Claude объяснить стратегию тестирования

Создание pull request’ов

Предположим, вам нужно создать хорошо документированный pull request для ваших изменений.

1

Суммируйте ваши изменения

> суммируйте изменения, которые я внес в модуль аутентификации 
2

Сгенерируйте PR с Claude

> создайте pr 
3

Просмотрите и доработайте

> улучшите описание PR с большим контекстом о улучшениях безопасности 
4

Добавьте детали тестирования

> добавьте информацию о том, как эти изменения были протестированы 

Советы:

  • Попросите Claude напрямую создать PR для вас
  • Просмотрите сгенерированный Claude PR перед отправкой
  • Попросите Claude выделить потенциальные риски или соображения

Работа с документацией

Предположим, вам нужно добавить или обновить документацию для вашего кода.

1

Определите недокументированный код

> найдите функции без правильных комментариев JSDoc в модуле auth 
2

Сгенерируйте документацию

> добавьте комментарии JSDoc к недокументированным функциям в auth.js 
3

Просмотрите и улучшите

> улучшите сгенерированную документацию с большим контекстом и примерами 
4

Проверьте документацию

> проверьте, соответствует ли документация стандартам нашего проекта 

Советы:

  • Укажите стиль документации, который вы хотите (JSDoc, docstrings и т.д.)
  • Попросите примеры в документации
  • Запросите документацию для публичных API, интерфейсов и сложной логики

Работа с изображениями

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

1

Добавьте изображение в разговор

Вы можете использовать любой из этих методов:

  1. Перетащите изображение в окно Claude Code
  2. Скопируйте изображение и вставьте его в CLI с помощью ctrl+v (Не используйте cmd+v)
  3. Предоставьте путь к изображению claude. Например, “Проанализируйте это изображение: /path/to/your/image.png”
2

Попросите Claude проанализировать изображение

> Что показывает это изображение?
> Опишите элементы UI на этом скриншоте
> Есть ли проблемные элементы на этой диаграмме?
3

Используйте изображения для контекста

> Вот скриншот ошибки. Что ее вызывает?
> Это наша текущая схема базы данных. Как нам следует ее изменить для новой функции?
4

Получите предложения кода из визуального содержимого

> Сгенерируйте CSS, чтобы соответствовать этому макету дизайна
> Какая HTML структура воссоздала бы этот компонент?

Советы:

  • Используйте изображения, когда текстовые описания были бы неясными или громоздкими
  • Включайте скриншоты ошибок, UI дизайнов или диаграмм для лучшего контекста
  • Вы можете работать с несколькими изображениями в разговоре
  • Анализ изображений работает с диаграммами, скриншотами, макетами и многим другим

Использование расширенного мышления

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

1

Предоставьте контекст и попросите Claude подумать

> Мне нужно реализовать новую систему аутентификации, используя OAuth2 для нашего API. Глубоко подумайте о лучшем подходе для реализации этого в нашей кодовой базе. 

Claude соберет релевантную информацию из вашей кодовой базы и использует расширенное мышление, которое будет видно в интерфейсе.

2

Уточните мышление с помощью дополнительных запросов

> подумайте о потенциальных уязвимостях безопасности в этом подходе 
> подумайте усерднее о граничных случаях, которые мы должны обработать 

Советы для получения максимальной ценности от расширенного мышления:

Расширенное мышление наиболее ценно для сложных задач, таких как:

  • Планирование сложных архитектурных изменений
  • Отладка сложных проблем
  • Создание планов реализации для новых функций
  • Понимание сложных кодовых баз
  • Оценка компромиссов между различными подходами

Способ, которым вы запрашиваете мышление, приводит к различным уровням глубины мышления:

  • “подумай” запускает базовое расширенное мышление
  • усиливающие фразы, такие как “подумай больше”, “подумай много”, “подумай усерднее” или “подумай дольше”, запускают более глубокое мышление

Для получения дополнительных советов по запросу расширенного мышления см. Советы по расширенному мышлению.

Claude будет отображать свой процесс мышления как курсивный серый текст над ответом.


Возобновление предыдущих разговоров

Предположим, вы работали над задачей с Claude Code и вам нужно продолжить с того места, где вы остановились, в более поздней сессии.

Claude Code предоставляет два варианта для возобновления предыдущих разговоров:

  • --continue для автоматического продолжения самого последнего разговора
  • --resume для отображения селектора разговоров
1

Продолжите самый последний разговор

claude --continue

Это немедленно возобновляет ваш самый последний разговор без каких-либо запросов.

2

Продолжите в неинтерактивном режиме

claude --continue --print "Продолжите с моей задачей"

Используйте --print с --continue для возобновления самого последнего разговора в неинтерактивном режиме, идеально подходящем для скриптов или автоматизации.

3

Покажите селектор разговоров

claude --resume

Это отображает интерактивный селектор разговоров, показывающий:

  • Время начала разговора
  • Начальный запрос или резюме разговора
  • Количество сообщений

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

Советы:

  • История разговоров хранится локально на вашей машине
  • Используйте --continue для быстрого доступа к вашему самому последнему разговору
  • Используйте --resume, когда вам нужно выбрать конкретный прошлый разговор
  • При возобновлении вы увидите всю историю разговора перед продолжением
  • Возобновленный разговор начинается с той же модели и конфигурации, что и оригинальный

Как это работает:

  1. Хранение разговоров: Все разговоры автоматически сохраняются локально с их полной историей сообщений
  2. Десериализация сообщений: При возобновлении вся история сообщений восстанавливается для поддержания контекста
  3. Состояние инструментов: Использование инструментов и результаты из предыдущего разговора сохраняются
  4. Восстановление контекста: Разговор возобновляется со всем предыдущим контекстом в целости

Примеры:

# Продолжить самый последний разговор
claude --continue

# Продолжить самый последний разговор с конкретным запросом
claude --continue --print "Покажите мне наш прогресс"

# Показать селектор разговоров
claude --resume

# Продолжить самый последний разговор в неинтерактивном режиме
claude --continue --print "Запустите тесты снова"

Запуск параллельных сессий Claude Code с Git worktrees

Предположим, вам нужно работать над несколькими задачами одновременно с полной изоляцией кода между экземплярами Claude Code.

1

Поймите Git worktrees

Git worktrees позволяют вам извлекать несколько веток из одного репозитория в отдельные директории. Каждое worktree имеет свою рабочую директорию с изолированными файлами, разделяя ту же историю Git. Узнайте больше в официальной документации Git worktree.

2

Создайте новое worktree

# Создайте новое worktree с новой веткой 
git worktree add ../project-feature-a -b feature-a

# Или создайте worktree с существующей веткой
git worktree add ../project-bugfix bugfix-123

Это создает новую директорию с отдельной рабочей копией вашего репозитория.

3

Запустите Claude Code в каждом worktree

# Перейдите в ваше worktree 
cd ../project-feature-a

# Запустите Claude Code в этой изолированной среде
claude
4

Запустите Claude в другом worktree

cd ../project-bugfix
claude
5

Управляйте вашими worktrees

# Перечислите все worktrees
git worktree list

# Удалите worktree, когда закончите
git worktree remove ../project-feature-a

Советы:

  • Каждое worktree имеет свое независимое состояние файлов, что делает его идеальным для параллельных сессий Claude Code
  • Изменения, сделанные в одном worktree, не повлияют на другие, предотвращая вмешательство экземпляров Claude друг в друга
  • Все worktrees разделяют одну и ту же историю Git и удаленные соединения
  • Для долгосрочных задач вы можете иметь Claude, работающего в одном worktree, пока продолжаете разработку в другом
  • Используйте описательные имена директорий для легкого определения, для какой задачи предназначено каждое worktree
  • Помните инициализировать вашу среду разработки в каждом новом worktree согласно настройке вашего проекта. В зависимости от вашего стека, это может включать:
    • JavaScript проекты: Запуск установки зависимостей (npm install, yarn)
    • Python проекты: Настройка виртуальных сред или установка с менеджерами пакетов
    • Другие языки: Следование стандартному процессу настройки вашего проекта

Использование Claude как unix-стиль утилиты

Добавление Claude в ваш процесс верификации

Предположим, вы хотите использовать Claude Code как линтер или ревьюер кода.

Добавьте Claude в ваш скрипт сборки:

// package.json
{
    ...
    "scripts": {
        ...
        "lint:claude": "claude -p 'вы линтер. пожалуйста, посмотрите на изменения по сравнению с main и сообщите о любых проблемах, связанных с опечатками. сообщите имя файла и номер строки на одной строке, и описание проблемы на второй строке. не возвращайте никакого другого текста.'"
    }
}

Советы:

  • Используйте Claude для автоматизированного ревью кода в вашем CI/CD пайплайне
  • Настройте запрос для проверки конкретных проблем, релевантных для вашего проекта
  • Рассмотрите создание нескольких скриптов для различных типов верификации

Ввод через пайп, вывод через пайп

Предположим, вы хотите передать данные в Claude через пайп и получить обратно данные в структурированном формате.

Передайте данные через Claude:

cat build-error.txt | claude -p 'кратко объясните основную причину этой ошибки сборки' > output.txt

Советы:

  • Используйте пайпы для интеграции Claude в существующие shell скрипты
  • Комбинируйте с другими Unix инструментами для мощных рабочих процессов
  • Рассмотрите использование —output-format для структурированного вывода

Контроль формата вывода

Предположим, вам нужен вывод Claude в конкретном формате, особенно при интеграции Claude Code в скрипты или другие инструменты.

1

Используйте текстовый формат (по умолчанию)

cat data.txt | claude -p 'суммируйте эти данные' --output-format text > summary.txt

Это выводит только простой текстовый ответ Claude (поведение по умолчанию).

2

Используйте JSON формат

cat code.py | claude -p 'проанализируйте этот код на ошибки' --output-format json > analysis.json

Это выводит JSON массив сообщений с метаданными, включая стоимость и продолжительность.

3

Используйте потоковый JSON формат

cat log.txt | claude -p 'разберите этот лог файл на ошибки' --output-format stream-json

Это выводит серию JSON объектов в реальном времени, пока Claude обрабатывает запрос. Каждое сообщение является валидным JSON объектом, но весь вывод не является валидным JSON, если объединен.

Советы:

  • Используйте --output-format text для простых интеграций, где вам нужен только ответ Claude
  • Используйте --output-format json, когда вам нужен полный лог разговора
  • Используйте --output-format stream-json для вывода в реальном времени каждого поворота разговора

Создание пользовательских слэш команд

Claude Code поддерживает пользовательские слэш команды, которые вы можете создать для быстрого выполнения конкретных запросов или задач.

Для получения дополнительной информации см. справочную страницу Слэш команды.

Создание специфичных для проекта команд

Предположим, вы хотите создать переиспользуемые слэш команды для вашего проекта, которые могут использовать все члены команды.

1

Создайте директорию команд в вашем проекте

mkdir -p .claude/commands
2

Создайте Markdown файл для каждой команды

echo "Проанализируйте производительность этого кода и предложите три конкретные оптимизации:" > .claude/commands/optimize.md 
3

Используйте вашу пользовательскую команду в Claude Code

> /project:optimize 

Советы:

  • Имена команд выводятся из имени файла (например, optimize.md становится /project:optimize)
  • Вы можете организовать команды в поддиректориях (например, .claude/commands/frontend/component.md становится /project:frontend:component)
  • Команды проекта доступны всем, кто клонирует репозиторий
  • Содержимое Markdown файла становится запросом, отправляемым Claude при вызове команды

Добавление аргументов команды с $ARGUMENTS

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

1

Создайте файл команды с заполнителем $ARGUMENTS

echo "Найдите и исправьте проблему #$ARGUMENTS. Следуйте этим шагам: 1.
Поймите проблему, описанную в тикете 2. Найдите релевантный код в
нашей кодовой базе 3. Реализуйте решение, которое устраняет основную причину 4. Добавьте
соответствующие тесты 5. Подготовьте краткое описание PR" >
.claude/commands/fix-issue.md 
2

Используйте команду с номером проблемы

В вашей сессии Claude используйте команду с аргументами.

> /project:fix-issue 123 

Это заменит $ARGUMENTS на “123” в запросе.

Советы:

  • Заполнитель $ARGUMENTS заменяется любым текстом, который следует за командой
  • Вы можете расположить $ARGUMENTS в любом месте вашего шаблона команды
  • Другие полезные применения: генерация тестовых случаев для конкретных функций, создание документации для компонентов, ревью кода в конкретных файлах или перевод содержимого на указанные языки

Создание персональных слэш команд

Предположим, вы хотите создать персональные слэш команды, которые работают во всех ваших проектах.

1

Создайте директорию команд в вашей домашней папке

mkdir -p ~/.claude/commands 
2

Создайте Markdown файл для каждой команды

echo "Просмотрите этот код на уязвимости безопасности, сосредоточившись на:" >
~/.claude/commands/security-review.md 
3

Используйте вашу персональную пользовательскую команду

> /user:security-review 

Советы:

  • Персональные команды имеют префикс /user: вместо /project:
  • Персональные команды доступны только вам и не разделяются с вашей командой
  • Персональные команды работают во всех ваших проектах
  • Вы можете использовать их для последовательных рабочих процессов в различных кодовых базах

Следующие шаги

Эталонная реализация Claude Code

Клонируйте нашу эталонную реализацию контейнера разработки.