50 советов
Claude Code
для практики
Лучшие практики из официальной документации Anthropic, опыта сообщества и ежедневного использования. Для тех, кто уже работает с Claude Code и хочет быстрее получать устойчивый результат.
Перевод и адаптация: Иван — ИИ на Практике · оригинал: Vishwas (@CodevolutionWeb)
Блок 1 · Советы 1–9
Быстрый старт
Настройте алиас cc
alias cc='claude --dangerously-skip-permissions'
# Альтернатива из официальной документации:
alias cc='claude --permission-mode bypassPermissions'Официальный флаг --permission-mode принимает значения: default, acceptEdits, plan, auto, dontAsk, bypassPermissions. Флаг bypassPermissions эквивалентен --dangerously-skip-permissions, но задокументирован официально. Используйте только после того, как полностью поймёте, что Claude Code может делать с вашей кодовой базой.
Префикс ! для bash-команд прямо в чате
Esc для остановки, Esc+Esc для отката
Чекпоинты отслеживают только правки файлов. Изменения от bash-команд (миграции, операции с БД) не фиксируются. Для продолжения: claude --continue возобновляет последний разговор, claude --resume открывает выбор сессий.
Дайте Claude возможность проверять свою работу
Рефактори auth middleware, чтобы использовать JWT вместо session tokens.
Запусти существующий набор тестов после внесения изменений.
Исправь все ошибки, прежде чем считать работу завершённой.Claude запускает тесты, видит ошибки и исправляет их без вашего вмешательства. Борис Черны говорит, что это даёт 2–3-кратное улучшение качества.
Установите плагин языковой аналитики (LSP)
/plugin install typescript-lsp@claude-plugins-official
/plugin install pyright-lsp@claude-plugins-official
/plugin install rust-analyzer-lsp@claude-plugins-official
/plugin install gopls-lsp@claude-plugins-officialИспользуйте gh CLI и обучайте Claude любым CLI-инструментам
Добавьте «ultrathink» для сложного мышления
# Флаг при запуске (4 уровня: low / medium / high / max)
claude --effort max
# Или постоянно в сессии
/effort low # экономия токенов для простых задач
/effort max # максимум для архитектуры и отладкиОфициальная документация: низкий уровень усилий значительно дешевле по токенам. Нет смысла тратить ресурсы мышления на переименование переменной.
Skills — знания по запросу
Управляйте Claude Code с телефона
# Запустить сессию доступную удалённо
claude remote-control
# Или создать web-сессию сразу при старте
claude --remote
# Вернуть web-сессию обратно в локальный терминал
claude --teleportФлаг --teleport из официальной документации позволяет перенести уже открытую web-сессию обратно в локальный терминал. Удобно, когда начали работу с телефона, а хотите продолжить на компьютере.
Блок 2 · Советы 10–18
Контекст и сессии
Расширьте контекстное окно до 1М токенов
CLAUDE_CODE_AUTO_COMPACT_WINDOW=800000
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=85Используйте Plan Mode, когда не уверены в подходе
# Запустить сразу в Plan Mode (только планирует, не пишет код)
claude --permission-mode plan
# Запустить в Auto-Accept Mode (принимает правки без подтверждения)
claude --permission-mode acceptEditsОфициально поддерживаемые permission-mode: default, acceptEdits, plan, auto, dontAsk, bypassPermissions. Флаг --permission-mode при запуске позволяет сразу начать нужную сессию без ручного переключения.
/clear между несвязанными задачами
Не интерпретируйте баги — вставляйте сырые данные
cat error.log | claude "объясни эту ошибку и предложи исправление"
npm test 2>&1 | claude "исправь падающие тесты"/btw для быстрых побочных вопросов
--worktree для изолированных параллельных веток
# Создать worktree с новой веткой (краткий флаг: -w)
claude -w feature-payments
# Добавить дополнительные директории в контекст сессии
claude --add-dir ../shared-utils --add-dir ../api-types
# Worktree + дополнительные директории
claude -w feature-auth --add-dir ../sharedФлаг --add-dir из официальной документации добавляет директории вне текущего проекта в контекст Claude. Полезно для монорепозиториев, где логика распределена между пакетами.
Сохраните черновик промпта через Ctrl+S
Ctrl+B для фоновых задач
Добавьте статус-строку в терминал
Блок 3 · Советы 19–30
Рабочий поток
Субагенты для чистого контекста
Встроенные типы: Explore (Haiku, быстрый поиск файлов) и Plan (анализ в режиме только для чтения).
Команды агентов для многосессионной координации
Избегайте задач, модифицирующих одни и те же файлы. Два участника, редактирующих один файл, приведут к перезаписи.
Управляйте компактизацией инструкциями
/loop для периодических проверок
/loop 5m проверь, успешен ли деплой, и отчитайся
/loop 20m /review-pr 1234Задачи привязаны к сессии и истекают через 3 дня.
Голосовой ввод для более богатых промптов
Требуется аккаунт claude.ai (не API-ключ).
После 2 исправлений одного и того же — начинайте заново
Указывайте Claude конкретные файлы через @
Исследуйте незнакомый код размытыми промптами
Редактируйте планы через Ctrl+G
Запустите /init, затем сократите результат вдвое
# Уровни CLAUDE.md (официальная документация)
~/.claude/CLAUDE.md # Личные предпочтения (все проекты)
./CLAUDE.md # Проектные настройки (команда)
./CLAUDE.local.md # Личные настройки проекта (gitignored)
./.claude/CLAUDE.md # Альтернативное расположение
# Интерактивная генерация (новый режим)
CLAUDE_CODE_NEW_INIT=1 claude --initФлаг CLAUDE_CODE_NEW_INIT=1 запускает интерактивный многофазный /init с вопросами и анализом проекта. Результат всё равно нужно сократить — Claude генерирует с запасом.
Лакмусовый тест для каждой строки CLAUDE.md
Лимиты по данным Anthropic:
• Рекомендуемый размер файла: до 200 строк
• Бюджет инструкций: ~150–200 (системный промпт занимает ~50)
• Каждый файл в .claude/rules/ — отдельная тема
• Импортируемые файлы (@путь) не загружаются каждую сессиюЕсли CLAUDE.md растёт — используйте @imports (совет №32) для вынесения деталей в отдельные файлы. Сам файл должен оставаться навигационной картой, а не энциклопедией.
После ошибки Claude — обновите CLAUDE.md
# Auto Memory хранится в:
~/.claude/projects/<project>/memory/
# Управление через:
/memory # Просмотр, редактирование, отключение
# Отключить глобально:
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=1
# Или в настройках:
# autoMemoryEnabled: false в .claude/settings.jsonAuto Memory включена по умолчанию с версии Claude Code v2.1.59+. Первые 200 строк MEMORY.md (или 25KB) загружаются в начале каждой сессии автоматически.
Блок 4 · Советы 31–37
CLAUDE.md и конфиг
.claude/rules/ для условных правил
---
paths:
- "**/*.ts"
- "src/**/*.{ts,tsx}" # Поддерживается brace expansion
- "src/components/*.tsx"
---
# Конвенции TypeScript
Предпочитайте interfaces вместо types.
# Пользовательские правила для всех проектов:
# ~/.claude/rules/*.mdОфициально поддерживаются: glob-паттерны с brace expansion {ts,tsx}, симлинки на общие наборы правил, пользовательские правила в ~/.claude/rules/ (применяются ко всем проектам). Правила можно организовывать в поддиректории.
@imports для лёгкого CLAUDE.md
# CLAUDE.md (в git, для всей команды)
@docs/api-conventions.md
@docs/deployment.md
# CLAUDE.local.md (gitignored, личные настройки)
# Добавляйте в .gitignore:
CLAUDE.local.md
# Примеры @imports:
@README.md
@package.json
@~/.claude/my-preferences.mdCLAUDE.local.md — официально поддерживаемый файл для личных настроек проекта. Он gitignored по умолчанию, что позволяет иметь персональные инструкции без конфликтов с командой.
Разрешите безопасные команды через /permissions
/sandbox для свободной работы Claude
Создайте кастомных субагентов для повторяющихся задач
Выберите правильные MCP-серверы для своего стека
Настройте стиль вывода
Блок 5 · Советы 38–50
Хуки и мастерство
CLAUDE.md для рекомендаций, хуки для требований
Все события хуков (официальная документация):
SessionStart — сессия начата или возобновлена
UserPromptSubmit — пользователь отправил промпт
PreToolUse — до выполнения инструмента (блокируемый)
PermissionRequest — появился диалог разрешений
PostToolUse — после успешного выполнения
PostToolUseFailure — после ошибки инструмента
Stop / StopFailure — сессия завершается
SessionEnd — сессия полностью закрыта
Notification — уведомления (permission_prompt, idle_prompt)
FileChanged — файл изменён
SubagentStart/Stop — субагент запущен/завершёнДля временного отключения всех хуков: disableAllHooks: true в .claude/settings.json. Полезно при отладке, когда хуки мешают диагностике.
Автоформатирование через PostToolUse-хук
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "npx prettier --write \"$CLAUDE_FILE_PATH\" 2>/dev/null || true"
}
]
}
]
}
}|| true предотвращает блокировку Claude при ошибке хука. Если у вас открыт редактор с теми же файлами, рассмотрите отключение format-on-save пока Claude работает.
Блокируйте деструктивные команды через PreToolUse-хук
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"type": "command",
"command": "if echo \"$TOOL_INPUT\" | grep -qE 'rm -rf|drop table|truncate'; then echo 'BLOCKED: destructive command' >&2; exit 2; fi"
}
]
}
}Коды выхода по официальной документации: exit 0 = успех, exit 2 = блокирующая ошибка (stderr передаётся Claude), любой другой = неблокирующая ошибка (показывается только в verbose). Только exit 2 реально останавливает выполнение.
Сохраняйте важный контекст при компактизации через хуки
Всегда вручную проверяйте авторизацию, платежи и мутации данных
/branch для альтернативного подхода
Пусть Claude берёт у вас интервью, если не можете полностью специфицировать фичу
Я хочу построить [краткое описание]. Проведи детальное интервью
с помощью инструмента AskUserQuestion. Спрашивай о технической
реализации, краевых случаях, рисках и компромиссах.
Не задавай очевидных вопросов.
Продолжай интервью, пока мы не покроем всё,
затем напиши полную спецификацию в SPEC.md.Когда спецификация готова, начните новую сессию для выполнения — с чистым контекстом и полной спецификацией.
Один Claude пишет, другой Claude ревьюит
Ревью PR в режиме разговора
Давайте имена и цвета сессиям
# Задать имя при запуске (--name или краткий -n)
claude --name "auth-refactor"
claude -n "payments-v2"
# Потом в сессии:
/rename новое-имя
/color purpleФлаг --name из официальной документации отображается на панели промпта сразу. При работе с 3–5 параллельными сессиями именование + цвет = не перепутать терминалы.
Звуковой сигнал при завершении работы Claude
{
"hooks": {
"Stop": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "/usr/bin/afplay /System/Library/Sounds/Glass.aiff"
}
]
}
]
}
}Fan-out с claude -p для пакетных операций
for file in $(cat files-to-migrate.txt); do
claude -p "Migrate $file from class components to hooks" \
--allowedTools "Edit,Bash(git commit *)" &
done
wait
# Официальные флаги для -p режима:
# --max-turns 5 Лимит шагов агента
# --max-budget-usd 1.00 Лимит бюджета в долларах
# --output-format json Вывод в JSON (text/json/stream-json)
# --model sonnet Выбор моделиФлаг --max-budget-usd из официальной документации позволяет контролировать стоимость пакетных операций. --output-format stream-json даёт потоковый JSON для парсинга результатов в реальном времени.
Кастомизируйте глаголы спиннера (для души)
Замени мои глаголы спиннера в пользовательских настройках на эти:
Ответственно галлюцинирую, Притворяюсь что думаю,
Уверенно угадываю, Виню контекстное окноМожно и не давать список — просто скажите, какой вайб вам нужен: «Замени глаголы спиннера на заклинания из Гарри Поттера.»
Заключение
Вам не нужны все 50. Выберите тот, который решает то, что раздражало вас больше всего в последней сессии, и попробуйте завтра. Один совет, который прижился, стоит больше, чем пятьдесят, добавленных в закладки.