Перейти к основному содержимому

Claude Code

После установки запускаем в директории проекта:

claude           # интерактивный режим
claude "prompt" # запуск с промтом
claude -p "prompt" # print-mode — выполнить и выйти (для скриптов)
claude -c # продолжить последний разговор

Требуется подписка Claude Pro, Max, Team или Enterprise, либо API-ключ.

Подписки и модели

ТарифЦенаДля кого
Pro$20Лёгкие задачи на Sonnet и Haiku. На Opus лимитов не хватит
Max 5x$100Подходит для большинства задач
Max 20x$200Сложные задачи и архитектурный анализ на Opus

Модели

МодельОписаниеКогда использовать
OpusСамая мощная модельСложные архитектурные задачи, глубокий анализ
SonnetБыстрая и качественная (4.6 уже очень хороша)Ежедневная работа, справляется с большинством задач
HaikuСамая быстрая и дешеваяПростые задачи, субагенты

Переключение модели: /model или Cmd+P

Режимы мышления (Extended Thinking)

Включается через Cmd+T или /effort. Уровни:

  • low — быстрые ответы без глубокого анализа
  • medium — баланс скорости и качества
  • high — детальный анализ
  • max (ultrathink) — максимальная вовлеченность для сложных задач

Работает на Sonnet и Opus. Для запуска расширенного мышления можно написать ultrathink в промте.

Токены и контекстное окно

Контекстное окно — это рабочая память сессии (200K токенов). Его нагружают:

  • Ваш промт и ответы Claude
  • Субагенты и их результаты
  • MCP-инструменты
  • Содержимое CLAUDE.md
Совет

Длинные сессии снижают качество ответов. Лучше работать мелкими задачами с очисткой контекста (/clear или /compact).

Проверить заполненность: /context — покажет визуальную сетку использования.

Горячие клавиши

Основные

КлавишаДействие
Shift+EnterНовая строка
EscapeОтменить ввод / прервать выполнение
Escape × 2Откатить к предыдущему состоянию
Shift+TabПереключить режим (default → acceptEdits → plan)
Cmd+PВыбор модели
Cmd+TПереключить Extended Thinking
Ctrl+CПрервать выполнение
Ctrl+DВыйти из Claude
Ctrl+RПоиск по истории команд
Ctrl+VВставить изображение
Ctrl+SОтложить текущий промт
Ctrl+TПоказать/скрыть список задач
Ctrl+LПерерисовать экран техническая команда если зависло визуально
Ctrl+GОткрыть внешний редактор
Ctrl+X Ctrl+KЗавершить всех агентов
TabАвтодополнение

Настройка клавиш: /keybindings → файл ~/.claude/keybindings.json

Можно включить Vim-режим через /config → Editor mode.

Slash-команды

Сессии и навигация

КомандаОписание
/clearОчистить контекст для
/compact [инструкция]Сжать контекст, сохранив саммари. Можно дописать что важно сохранить
/resume [сессия]Продолжить прошлый разговор
/rename [имя]Назвать текущую сессию
/branchФоркнуть разговор
/rewindОткатиться к предыдущей точке
/export [файл]Экспортировать разговор в текст

Конфигурация

КомандаОписание
/configНастройки (тема, модель, стиль вывода)
/model [модель]Выбор/смена модели
/effort [уровень]Уровень мышления: low/medium/high/max/auto
/permissionsУправление разрешениями
/memoryПросмотр/редактирование CLAUDE.md и памяти
/doctorДиагностика установки и настроек
/statusВерсия, модель, аккаунт, подключение
/initИнициализация проекта (создание CLAUDE.md)

Инструменты и MCP

КомандаОписание
/mcpУправление MCP-серверами
/skillsСписок доступных скилов
/agentsНастройка субагентов
/pluginУправление плагинами
/hooksПросмотр хуков
/ideПодключение к IDE

Разработка

КомандаОписание
/plan [описание]Войти в режим планирования
/contextВизуализация использования контекста
/costСтатистика по токенам
/diffИнтерактивный просмотр изменений
/copy [N]Скопировать последний (или N-й) ответ
/btw <вопрос>Задать побочный вопрос без добавления в контекст
/fast [on|off]Переключить быстрый режим
/voiceГолосовой ввод
/security-reviewАнализ изменений на уязвимости

Планирование и автоматизация

КомандаОписание
/loop [интервал] [команда]Повторять команду с интервалом (по умолчанию 10 мин)
/schedule [описание]Создать облачную задачу по расписанию
/tasksСписок фоновых задач
/remote-controlПродолжить сессию с телефона/планшета

CLAUDE.md

CLAUDE.md — файл с инструкциями, который Claude читает при каждом запуске сессии. Это главный способ задать контекст проекта.

Иерархия файлов

УровеньРасположениеОбщий?
Глобальный~/.claude/CLAUDE.mdНет — личный для всех проектов
Проект./CLAUDE.md или ./.claude/CLAUDE.mdДа — через git
Локальный./CLAUDE.local.mdНет — gitignore

Все уровни загружаются одновременно. Для подпапок можно создавать свои CLAUDE.md — они подгрузятся автоматически.

Что писать в CLAUDE.md

  • Команды для сборки, тестов, деплоя
  • Структура проекта (кратко)
  • Правила и соглашения (стиль кода, именование)
  • Нюансы проекта (то, что не очевидно из кода)

Лучшие практики

  • Держать до 200 строк (60 — идеально). Больше = больше контекста расходуется и хуже соблюдение
  • Писать конкретно: «Используй 2 пробела для отступов» вместо «форматируй код аккуратно»
  • Можно импортировать файлы: @README.md @docs/architecture.md
  • Для больших проектов разносить правила в .claude/rules/ — отдельные файлы с привязкой к путям
  • Команда /init проанализирует проект и создаст базовый CLAUDE.md
  • Можно в чате попросить записать что-то в CLAUDE.md или через # задать заметку
Важно

Не перегружайте CLAUDE.md. Всё что в нём — загружается в каждый запрос и тратит контекстное окно.

Разрешения

Управление через /permissions или settings.json. Три уровня:

  • allow — выполняется без вопросов
  • ask — спрашивает перед выполнением (по умолчанию)
  • deny — запрещено

Синтаксис правил

{
"permissions": {
"allow": [
"Bash(npm test)",
"Bash(npm run *)",
"Bash(git *)",
"Edit(*.ts)",
"mcp__github__*"
],
"deny": [
"Bash(rm -rf *)",
"Bash(sudo *)",
"Edit(.env)"
]
}
}

Поддерживаются wildcards (*) и паттерны для файлов (**/*.ts).

Совет

Настройте разрешения для часто используемых команд (npm, git, линтеры) — это сократит количество подтверждений на 80%.

Хуки (Hooks)

Хуки — автоматические скрипты, которые выполняются на определённых этапах работы Claude. В отличие от инструкций, хуки гарантированно исполняются.

Типы хуков

ТипОписание
commandЗапуск shell-скрипта
httpPOST-запрос на внешний endpoint
promptОдноходовая LLM-проверка (да/нет)
agentМногоходовой субагент для сложной верификации

Основные события

СобытиеКогда срабатывает
PreToolUseПеред выполнением инструмента (можно заблокировать)
PostToolUseПосле успешного выполнения
StopClaude завершил ответ
UserPromptSubmitПеред обработкой вашего сообщения
SessionStartНачало/возобновление сессии
FileChangedИзменение отслеживаемого файла
NotificationClaude требует внимания

Примеры использования

Автоформатирование после редактирования:

{
"hooks": {
"PostToolUse": [{
"matcher": "Edit|Write",
"hooks": [{
"type": "command",
"command": "npx prettier --write $CLAUDE_FILE_PATH"
}]
}]
}
}

Защита чувствительных файлов:

{
"hooks": {
"PreToolUse": [{
"matcher": "Edit|Write",
"hooks": [{
"type": "command",
"command": "echo $CLAUDE_FILE_PATH | grep -q '.env' && exit 2 || exit 0"
}]
}]
}
}

Настройка: ~/.claude/settings.json (глобально), .claude/settings.json (проект), .claude/settings.local.json (локально).

Пользовательские команды

Создайте файл .claude/commands/<имя>.md в проекте — и команда будет доступна через /имя.

Создание

.claude/commands/review.md
Проверь текущие изменения:
1. Запусти git diff
2. Проанализируй на баги и уязвимости
3. Предложи улучшения
  • Проектные: .claude/commands/ — доступны всей команде через git
  • Глобальные: ~/.claude/commands/ — для всех проектов
Совет

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

Команды не расходуют токены и контекст, пока не вызваны.

Skills (Скилы)

Скилы — расширенные команды с метаданными. Claude может сам определить, когда использовать скил, на основе описания.

Структура

.claude/skills/deploy/SKILL.md
---
name: deploy
description: Деплой приложения на production. Использовать когда пользователь просит задеплоить или обновить прод.
---

## Шаги деплоя
1. Запустить тесты
2. Собрать проект
3. Загрузить на сервер

Лучшие практики

  • Поле description — это триггер для модели, пишите его так, чтобы Claude понял когда использовать
  • Не перегружайте скилы (до 500 строк)
  • Лучше меньше скилов, но качественных — похожие скилы путают модель
  • Используйте папки: references/, scripts/, examples/ для дополнительных материалов
  • Добавляйте раздел Gotchas — типичные ошибки при выполнении

Capability Uplift vs Encoded Preferences

  • Capability Uplift — скилы, которые добавляют новые возможности (деплой, миграции)
  • Encoded Preferences — скилы, кодирующие ваши предпочтения (стиль кода, процессы)

Плагины (Plugins)

Плагин — это набор скилов, команд и хуков, объединённых в пакет.

/plugin                    # управление плагинами
claude plugin install <имя> # установка

Маркетплейс плагинов доступен через /plugin. Полезный пример: skill-creator — помогает создавать новые скилы.

Субагенты (Subagents)

Субагенты — это изолированные экземпляры Claude, которые выполняют задачи в отдельном контексте. Результат возвращается в основной разговор.

Зачем нужны

  • Параллельная работа — несколько агентов одновременно
  • Изоляция контекста — тяжёлые операции (логи, тесты) не загрязняют основной контекст
  • Специализация — у каждого агента свои инструменты и настройки

Встроенные типы

ТипНазначение
ExploreИсследование кодовой базы
PlanПланирование реализации
Code-ReviewerПроверка кода и безопасности

Создание своих агентов

.claude/agents/security-reviewer.md
---
description: "Анализ кода на уязвимости безопасности"
tools: ["Read", "Grep", "Bash"]
model: "sonnet"
---

Ты — специалист по безопасности. Проверяй код на OWASP Top 10...

Agent Teams

Несколько агентов работают параллельно через tmux и git worktrees:

# Включение
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

# Запуск в изолированном worktree
claude --worktree feature-auth
warning

Agent Teams потребляют ~7x токенов (отдельный контекст для каждого агента).

MCP (Model Context Protocol)

MCP расширяет Claude внешними инструментами — GitHub, базы данных, браузер, мониторинг.

Установка MCP-сервера

# HTTP-сервер (облачный)
claude mcp add --transport http github https://api.github.com/mcp/

# Локальный stdio-сервер
claude mcp add my-tool -- node /path/to/server.js

# SSE-сервер
claude mcp add --transport sse server-name http://localhost:3000/sse

Конфигурация

Файл .mcp.json в корне проекта или ~/.claude/.mcp.json глобально:

{
"mcpServers": {
"github": {
"transport": "http",
"url": "https://api.github.com/mcp/",
"auth": {
"type": "bearer",
"token": "$GITHUB_TOKEN"
}
},
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
}
}
}

Полезные MCP-серверы

СерверНазначение
context7Актуальная документация библиотек (ставьте глобально)
playwrightБраузерное тестирование UI
githubРабота с GitHub (PR, issues)
postgresРабота с PostgreSQL
figmaДоступ к дизайнам в Figma
filesystemРасширенная работа с файлами

Каталог серверов: https://github.com/modelcontextprotocol/servers

Оптимизация

MCP-инструменты загружаются отложенно (tool search) — в контекст попадают только названия, пока инструмент не понадобится. Это экономит токены.

Управление: /mcp — просмотр, включение/выключение, переподключение.

Есть облачные MCP с transport: http — они работают без локальной установки.

Режимы работы

Переключение: Shift+Tab или флаг --permission-mode <режим>

РежимПоведение
defaultСпрашивает перед каждым действием
acceptEditsПравки в файлах автоматически, остальное с подтверждением
planТолько чтение и анализ, без изменений
autoФоновый классификатор проверяет безопасность (Team/Enterprise)

Plan Mode

В режиме планирования Claude читает файлы, пишет детальный план, ждёт вашего фидбека — и только после одобрения выполняет.

Когда использовать:

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

Включение: /plan или Shift+Tab

Эффективная работа с промтами

До начала работы

  1. Настройте CLAUDE.md — команды, структура, правила
  2. Сконфигурируйте разрешения для частых команд
  3. Создайте скилы для повторяющихся задач

Хорошие промты

Больше конкретики

❌ «Улучши код»
✅ «Добавь валидацию email в форму регистрации в src/components/RegisterForm.tsx»

Разбивать на шаги:

1. Проанализируй текущую авторизацию
2. Добавь проверку JWT-токена
3. Напиши тесты

Давать контекст:

  • Добавлять скрины
  • Показывать логи
  • Ссылайтесь на файлы, можно через @

Указывать критерии проверки:

«Добавь пагинацию. Проверь что работает: npm run test, страница /users показывает по 10 записей»

Полезные приёмы

  • «Зажарь меня»: Попросите Claude проверить ваши изменения как строгий ревьюер
  • Перезапуск: Если результат так себе — «Зная всё что знаешь, начни заново и сделай элегантное решение»
  • Скриншоты: Отправляйте скрины для отладки UI
  • Побочные вопросы: /btw почему здесь используется Map? — не засоряет контекст

Управление контекстом

  • /compact при ~50% заполнения (лучше не ждать автоматического сжатия)
  • /clear при переключении на несвязанную задачу
  • Escape × 2 или /rewind если Claude пошёл не туда — откат вместо исправления в том же контексте
  • /rename важные сессии и /resume для продолжения

CLI и автоматизация

Пайпы

cat error.log | claude -p "объясни"         # подать данные на вход
git diff | claude -p "ревью этих изменений" # ревью через пайп

Флаги

claude -p "query"                    # print-mode (для CI/CD)
claude --model sonnet # выбор модели
claude --add-dir ../apps ../lib # дополнительные директории
claude --allowedTools "Bash(git:*)" # разрешить инструменты
claude --output-format json # JSON-вывод для скриптов
claude --max-turns 3 # ограничить количество ходов

Оптимизация расходов

Отслеживание: /cost (токены, API), /stats (паттерны), /usage (лимиты тарифа).

Как экономить токены

  1. Модель под задачу: Sonnet для ежедневной работы, Opus для сложного, Haiku для субагентов
  2. Субагенты: Тяжёлые операции (тесты, логи) в субагенте — в основной контекст возвращается только результат
  3. Планирование: Сначала plan mode, потом реализация — экономит на переделках
  4. Детали — в скилы: Они грузятся по требованию, в отличие от CLAUDE.md

Настройки (settings.json)

Расположение

ФайлОписание
~/.claude/settings.jsonГлобальные настройки
.claude/settings.jsonНастройки проекта (через git)
.claude/settings.local.jsonЛокальные настройки (gitignore)

Переменные окружения

export CLAUDE_CODE_MODEL=opus                # модель
export CLAUDE_CODE_EFFORT_LEVEL=high # уровень мышления
export MAX_THINKING_TOKENS=10000 # лимит токенов мышления
export ANTHROPIC_API_KEY=sk-... # API-ключ

Память (Auto Memory)

Два типа памяти:

CLAUDE.mdAuto Memory
Кто пишетВыClaude
СодержаниеИнструкции и правилаПаттерны и предпочтения
ОбластьПроект/пользовательPer worktree
ЗагрузкаКаждая сессия (полностью)Каждая сессия (первые 200 строк)

Управление: /memory — просмотр, редактирование, включение/выключение.

Расположение: ~/.claude/projects/<проект>/memory/

Можно в чате через # попросить Claude запомнить что-то.

Полезные ссылки

Изучение

Коллекции