Понимание новых кодовых баз
Получение быстрого обзора кодовой базы
Предположим, вы только что присоединились к новому проекту и вам нужно быстро понять его структуру.Перейдите в корневую директорию проекта
Запустите Claude Code
Попросите общий обзор
Углубитесь в конкретные компоненты
- Начинайте с широких вопросов, затем сужайте до конкретных областей
- Спрашивайте о соглашениях по кодированию и паттернах, используемых в проекте
- Запрашивайте глоссарий специфичных для проекта терминов
Поиск соответствующего кода
Предположим, вам нужно найти код, связанный с конкретной функцией или функциональностью.Попросите Claude найти соответствующие файлы
Получите контекст о том, как компоненты взаимодействуют
Поймите поток выполнения
- Будьте конкретны в том, что вы ищете
- Используйте доменный язык из проекта
Эффективное исправление ошибок
Предположим, вы столкнулись с сообщением об ошибке и вам нужно найти и исправить её источник.Поделитесь ошибкой с Claude
Попросите рекомендации по исправлению
Примените исправление
- Скажите Claude команду для воспроизведения проблемы и получения трассировки стека
- Упомяните любые шаги для воспроизведения ошибки
- Дайте Claude знать, является ли ошибка периодической или постоянной
Рефакторинг кода
Предположим, вам нужно обновить старый код для использования современных паттернов и практик.Определите устаревший код для рефакторинга
Получите рекомендации по рефакторингу
Безопасно примените изменения
Проверьте рефакторинг
- Попросите Claude объяснить преимущества современного подхода
- Запросите, чтобы изменения поддерживали обратную совместимость при необходимости
- Делайте рефакторинг небольшими, тестируемыми приращениями
Использование специализированных субагентов
Предположим, вы хотите использовать специализированных AI субагентов для более эффективного выполнения конкретных задач.Просмотрите доступных субагентов
Используйте субагентов автоматически
Явно запросите конкретных субагентов
Создайте пользовательских субагентов для вашего рабочего процесса
- Типа субагента (например,
api-designer
,performance-optimizer
) - Когда его использовать
- К каким инструментам он может получить доступ
- Его специализированный системный промпт
- Создавайте специфичных для проекта субагентов в
.claude/agents/
для совместного использования командой - Используйте описательные поля
description
для включения автоматического делегирования - Ограничьте доступ к инструментам тем, что каждому субагенту действительно нужно
- Проверьте документацию по субагентам для подробных примеров
Использование режима планирования для безопасного анализа кода
Режим планирования инструктирует Claude создать план, анализируя кодовую базу с операциями только для чтения, идеально подходящий для исследования кодовых баз, планирования сложных изменений или безопасного просмотра кода.Когда использовать режим планирования
- Многоэтапная реализация: Когда ваша функция требует внесения изменений во множество файлов
- Исследование кода: Когда вы хотите тщательно исследовать кодовую базу перед внесением изменений
- Интерактивная разработка: Когда вы хотите итерировать направление с Claude
Как использовать режим планирования
Включите режим планирования во время сессии Вы можете переключиться в режим планирования во время сессии, используя Shift+Tab для переключения между режимами разрешений. Если вы находитесь в обычном режиме, Shift+Tab сначала переключит в режим автоматического принятия, обозначенный⏵⏵ accept edits on
внизу терминала. Последующий Shift+Tab переключит в режим планирования, обозначенный ⏸ plan mode on
.
Начните новую сессию в режиме планирования
Чтобы начать новую сессию в режиме планирования, используйте флаг --permission-mode plan
:
-p
(то есть в “безголовом режиме”):
Пример: Планирование сложного рефакторинга
Настройте режим планирования по умолчанию
Работа с тестами
Предположим, вам нужно добавить тесты для непокрытого кода.Определите непротестированный код
Сгенерируйте каркас тестов
Добавьте значимые тестовые случаи
Запустите и проверьте тесты
- Просите тесты, которые покрывают граничные случаи и условия ошибок
- Запрашивайте как модульные, так и интеграционные тесты, когда это уместно
- Пусть Claude объяснит стратегию тестирования
Создание pull request’ов
Предположим, вам нужно создать хорошо документированный pull request для ваших изменений.Суммируйте ваши изменения
Сгенерируйте PR с Claude
Просмотрите и доработайте
Добавьте детали тестирования
- Попросите Claude напрямую создать PR для вас
- Просмотрите сгенерированный Claude PR перед отправкой
- Попросите Claude выделить потенциальные риски или соображения
Работа с документацией
Предположим, вам нужно добавить или обновить документацию для вашего кода.Определите недокументированный код
Сгенерируйте документацию
Просмотрите и улучшите
Проверьте документацию
- Укажите стиль документации, который вы хотите (JSDoc, docstrings и т.д.)
- Попросите примеры в документации
- Запросите документацию для публичных API, интерфейсов и сложной логики
Работа с изображениями
Предположим, вам нужно работать с изображениями в вашей кодовой базе, и вы хотите помощи Claude в анализе содержимого изображений.Добавьте изображение в разговор
- Перетащите изображение в окно Claude Code
- Скопируйте изображение и вставьте его в CLI с помощью ctrl+v (Не используйте cmd+v)
- Предоставьте путь к изображению Claude. Например, “Проанализируй это изображение: /path/to/your/image.png”
Попросите Claude проанализировать изображение
Используйте изображения для контекста
Получите предложения кода из визуального контента
- Используйте изображения, когда текстовые описания были бы неясными или громоздкими
- Включайте скриншоты ошибок, UI дизайнов или диаграмм для лучшего контекста
- Вы можете работать с несколькими изображениями в разговоре
- Анализ изображений работает с диаграммами, скриншотами, макетами и многим другим
Ссылки на файлы и директории
Используйте @ для быстрого включения файлов или директорий без ожидания, пока Claude их прочитает.Ссылка на один файл
Ссылка на директорию
Ссылка на MCP ресурсы
- Пути к файлам могут быть относительными или абсолютными
- @ ссылки на файлы добавляют CLAUDE.md в директории файла и родительских директориях в контекст
- Ссылки на директории показывают списки файлов, а не содержимое
- Вы можете ссылаться на несколько файлов в одном сообщении (например, “@file1.js и @file2.js”)
Использование расширенного мышления
Предположим, вы работаете над сложными архитектурными решениями, сложными ошибками или планированием многоэтапных реализаций, которые требуют глубокого рассуждения.Предоставьте контекст и попросите Claude подумать
Уточните мышление с помощью дополнительных промптов
- Планирование сложных архитектурных изменений
- Отладка сложных проблем
- Создание планов реализации для новых функций
- Понимание сложных кодовых баз
- Оценка компромиссов между различными подходами
- “подумай” запускает базовое расширенное мышление
- усиливающие фразы, такие как “продолжай думать”, “думай больше”, “думай много” или “думай дольше”, запускают более глубокое мышление
Возобновление предыдущих разговоров
Предположим, вы работали над задачей с Claude Code и вам нужно продолжить с того места, где вы остановились, в более поздней сессии. Claude Code предоставляет два варианта для возобновления предыдущих разговоров:--continue
для автоматического продолжения самого недавнего разговора--resume
для отображения выбора разговора
Продолжите самый недавний разговор
Продолжите в неинтерактивном режиме
--print
с --continue
для возобновления самого недавнего разговора в неинтер активном режиме, идеально подходящем для скриптов или автоматизации.Покажите выбор разговора
- Время начала разговора
- Начальный промпт или резюме разговора
- Количество сообщений
- История разговоров хранится локально на вашей машине
- Используйте
--continue
для быстрого доступа к вашему самому недавнему разговору - Используйте
--resume
, когда вам нужно выбрать конкретный прошлый разговор - При возобновлении вы увидите всю историю разговора перед продолжением
- Возобновленный разговор начинается с той же модели и конфигурации, что и оригинал
- Хранение разговоров: Все разговоры автоматически сохраняются локально с их полной историей сообщений
- Десериализация сообщений: При возобновлении вся история сообщений восстанавливается для поддержания контекста
- Состояние инструментов: Использование инструментов и результаты из предыдущего разговора сохраняются
- Восстановление контекста: Разговор возобновляется со всем предыдущим контекстом в целости
Запуск параллельных сессий Claude Code с Git worktrees
Предположим, вам нужно работать над несколькими задачами одновременно с полной изоляцией кода между экземплярами Claude Code.Поймите Git worktrees
Создайте новое worktree
Запустите Claude Code в каждом worktree
Запустите Claude в другом worktree
Управляйте вашими worktrees
- Каждое worktree имеет свое независимое состояние файлов, что делает его идеальным для параллельных сессий Claude Code
- Изменения, сделанные в одном worktree, не повлияют на другие, предотвращая вмешательство экземпляров Claude друг в друга
- Все worktrees разделяют одну и ту же историю Git и удаленные подключения
- Для долгосрочных задач вы можете иметь Claude, работающего в одном worktree, пока продолжаете разработку в другом
- Используйте описательные имена директорий для легкой идентификации, для какой задачи предназначено каждое worktree
- Помните инициализировать вашу среду разработки в каждом новом worktree согласно настройке вашего проекта. В зависимости от вашего стека это может включать:
- Проекты JavaScript: Запуск установки зависимостей (
npm install
,yarn
) - Проекты Python: Настройка виртуальных сред или установка с менеджерами пакетов
- Другие языки: Следование стандартному процессу настройки вашего проекта
- Проекты JavaScript: Запуск установки зависимостей (
Использование Claude как unix-утилиты
Добавление Claude в ваш процесс верификации
Предположим, вы хотите использовать Claude Code как линтер или ревьюер кода. Добавьте Claude в ваш скрипт сборки:- Используйте Claude для автоматизированного ревью кода в вашем CI/CD пайплайне
- Настройте промпт для проверки конкретных проблем, релевантных для вашего проекта
- Рассмотрите создание нескольких скриптов для различных типов верификации
Pipe in, pipe out
Предположим, вы хотите передать данные в Claude и получить обратно данные в структурированном формате. Передайте данные через Claude:- Используйте pipes для интеграции Claude в существующие shell скрипты
- Комбинируйте с другими Unix инструментами для мощных рабочих процессов
- Рассмотрите использование —output-format для структурированного вывода
Контроль формата вывода
Предположим, вам нужен вывод Claude в конкретном формате, особенно при интеграции Claude Code в скрипты или другие инструменты.Используйте текстовый формат (по умолчанию)
Используйте JSON формат
Используйте потоковый JSON формат
- Используйте
--output-format text
для простых интеграций, где вам нужен только ответ Claude - Используйте
--output-format json
, когда вам нужен полный лог разговора - Используйте
--output-format stream-json
для вывода в реальном времени каждого поворота разговора
Создание пользовательских slash команд
Claude Code поддерживает пользовательские slash команды, которые вы можете создать для быстрого выполнения конкретных промптов или задач. Для более подробной информации смотрите справочную страницу Slash команды.Создание команд, специфичных для проекта
Предположим, вы хотите создать многоразовые slash команды для вашего проекта, которые могут использовать все члены команды.Создайте директорию команд в вашем проекте
Создайте Markdown файл для каждой команды
Используйте вашу пользовательскую команду в Claude Code
- Имена команд выводятся из имени файла (например,
optimize.md
становится/optimize
) - Вы можете организовать команды в поддиректориях (например,
.claude/commands/frontend/component.md
создает/component
с “(project:frontend)”, показанным в описании) - Команды проекта доступны всем, кто клонирует репозиторий
- Содержимое Markdown файла становится промптом, отправляемым Claude при вызове команды
Добавление аргументов команды с $ARGUMENTS
Предположим, вы хотите создать гибкие slash команды, которые могут принимать дополнительный ввод от пользователей.Создайте файл команды с заполнителем $ARGUMENTS
Используйте команду с номером проблемы
- Заполнитель $ARGUMENTS заменяется любым текстом, который следует за командой
- Вы можете расположить $ARGUMENTS в любом месте вашего шаблона команды
- Другие полезные применения: генерация тестовых случаев для конкретных функций, создание документации для компонентов, ревью кода в конкретных файлах или перевод контента на указанные языки
Создание персональных slash команд
Предположим, вы хотите создать персональные slash команды, которые работают во всех ваших проектах.Создайте директорию команд в вашей домашней папке
Создайте Markdown файл для каждой команды
Используйте вашу персональную пользовательскую команду
- Персональные команды показывают “(user)” в их описании при перечислении с
/help
- Персональные команды доступны только вам и не разделяются с вашей командой
- Персональные команды работают во всех ваших проектах
- Вы можете использовать их для последовательных рабочих процессов в различных кодовых базах
Спросите Claude о его возможностях
Claude имеет встроенный доступ к своей документации и может отвечать на вопросы о своих собственных функциях и ограничениях.Примеры вопросов
- Claude всегда имеет доступ к последней документации Claude Code, независимо от версии, которую вы используете
- Задавайте конкретные вопросы для получения подробных ответов
- Claude может объяснить сложные функции, такие как интеграция MCP, корпоративные конфигурации и продвинутые рабочие процессы