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-скрипта |
| http | POST-запрос на внешний endpoint |
| prompt | Одноходовая LLM-проверка (да/нет) |
| agent | Многоходовой субагент для сложной верификации |
Основные события
| Событие | Когда срабатывает |
|---|---|
PreToolUse | Перед выполнением инструмента (можно заблокировать) |
PostToolUse | После успешного выполнения |
Stop | Claude завершил ответ |
UserPromptSubmit | Перед обработкой вашего сообщения |
SessionStart | Начало/возобновление сессии |
FileChanged | Изменение отслеживаемого файла |
Notification | Claude требует внимания |
Примеры использования
Автоформатирование после редактирования:
{
"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 в проекте — и команда будет доступна через /имя.
Создание
Проверь текущие изменения:
1. Запусти git diff
2. Проанализируй на баги и уязвимости
3. Предложи улучшения
- Проектные:
.claude/commands/— доступны всей команде через git - Глобальные:
~/.claude/commands/— для всех проектов
Если вы повторяете действие больше одного раза в день — сделайте из него команду. Можно попросить Claude создать команду на основе текущего диалога.
Команды не расходуют токены и контекст, пока не вызваны.
Skills (Скилы)
Скилы — расширенные команды с метаданными. Claude может сам определить, когда использовать скил, на основе описания.
Структура
---
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 | Проверка кода и безопасности |
Создание своих агентов
---
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
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
Эффективная работа с промтами
До начала работы
- Настройте CLAUDE.md — команды, структура, правила
- Сконфигурируйте разрешения для частых команд
- Создайте скилы для повторяющихся задач
Хорошие промты
Больше конкретики
❌ «Улучши код»
✅ «Добавь валидацию 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 (лимиты тарифа).
Как экономить токены
- Модель под задачу: Sonnet для ежедневной работы, Opus для сложного, Haiku для субагентов
- Субагенты: Тяжёлые операции (тесты, логи) в субагенте — в основной контекст возвращается только результат
- Планирование: Сначала plan mode, потом реализация — экономит на переделках
- Детали — в скилы: Они грузятся по требованию, в отличие от 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.md | Auto Memory | |
|---|---|---|
| Кто пишет | Вы | Claude |
| Содержание | Инструкции и правила | Паттерны и предпочтения |
| Область | Проект/пользователь | Per worktree |
| Загрузка | Каждая сессия (полностью) | Каждая сессия (первые 200 строк) |
Управление: /memory — просмотр, редактирование, включение/выключение.
Расположение: ~/.claude/projects/<проект>/memory/
Можно в чате через # попросить Claude запомнить что-то.
Полезные ссылки
Изучение
- claude-code-best-practice — 69 лучших практик от команды Anthropic
- claude-howto — структурированный курс из 10 модулей
- claude-quickstarts — официальные примеры проектов
- learn-claude-code — глубокое понимание архитектуры агентов (12 сессий на Python)
- claude-code-cheat-sheet — шпаргалка по командам (10 уровней)
Коллекции
- everything-claude-code — всё о Claude Code
- awesome-claude-code — коллекция ресурсов
- awesome-claude-code-subagents — субагенты
- awesome-claude-skills — коллекция скилов
- oh-my-claudecode — расширения
- MCP Servers — каталог MCP-серверов