Claude Code — это официальный агентный инструмент командной строки от Anthropic, который позволяет разработчикам делегировать AI рутинные и сложные задачи: чтение и анализ кодовой базы, редактирование файлов, запуск команд, работу с git и многое другое. В отличие от чат-ботов с copy-paste, Claude Code работает непосредственно в вашем терминале, видит структуру проекта и вносит изменения напрямую. В этом курсе мы разберём каждый аспект инструмента — от установки до продвинутых сценариев с подагентами, хуками и MCP-серверами.
Документация: docs.anthropic.com
GitHub: github.com/anthropics/claude-code
VS Code Extension: Visual Studio Marketplace
1. Что такое Claude Code
Claude Code — это агентный инструмент кодирования (agentic coding tool), работающий в терминале. Он создан командой Anthropic и использует модели Claude (Sonnet, Opus) для понимания и модификации кода. Ключевое отличие от обычных AI-чатов:
- Прямой доступ к файловой системе — Claude Code читает файлы проекта, понимает структуру директорий, анализирует зависимости
- Редактирование на месте — вносит изменения в файлы напрямую, без copy-paste из чата
- Запуск команд — выполняет shell-команды: сборку, тесты, линтинг, git-операции
- Контекст проекта — автоматически загружает CLAUDE.md с инструкциями, понимает монорепозитории
- Работа с git — создаёт коммиты, ветки, pull request'ы, анализирует историю изменений
Claude Code — это не просто «подсказчик кода». Это полноценный AI-агент, который получает задачу, самостоятельно планирует последовательность действий, использует инструменты (tools) и итеративно добивается результата. Вы описываете что нужно сделать, а Claude Code решает как.
Когда использовать Claude Code
| Задача | Без Claude Code | С Claude Code |
|---|---|---|
| Рефакторинг 20 файлов | 2-4 часа ручной работы | 5-15 минут |
| Написание тестов для модуля | 1-2 часа | 3-10 минут |
| Понимание чужого кода | Читать файл за файлом | Спросить «объясни архитектуру» |
| Создание PR с описанием | Коммит + ручное описание | Одна команда |
2. Установка и настройка
Системные требования
- Node.js версии 18 или выше
- Операционная система: macOS 12+, Ubuntu 20.04+ / Debian 10+, Windows через WSL2
- Аккаунт Anthropic с API-ключом или подпиской Claude Pro/Max/Team
Пошаговая установка
# 1. Установка глобально через npm
npm install -g @anthropic-ai/claude-code
# 2. Авторизация (откроется браузер для OAuth или ввод API-ключа)
claude login
# 3. Переход в директорию проекта
cd /path/to/your/project
# 4. Запуск Claude Code
claude
После запуска claude в терминале появится интерактивный REPL, где вы вводите задачи на естественном языке. Claude Code автоматически определит структуру проекта, прочитает package.json, pyproject.toml или другие конфигурационные файлы.
Неинтерактивный режим
Claude Code можно использовать в скриптах и CI/CD пайплайнах:
# Одноразовая команда без интерактивного режима
claude -p "найди все TODO в проекте и создай GitHub issues"
# С pipe из stdin
cat error.log | claude -p "проанализируй ошибки и предложи исправления"
# В CI/CD — например, автоматический code review
claude -p "сделай code review последнего коммита" --output-format json
3. Основные инструменты (Tools)
Claude Code использует набор встроенных инструментов для взаимодействия с вашей средой разработки. Каждый вызов инструмента виден вам в терминале, и вы можете одобрить или отклонить его.
Read — чтение файлов
Читает содержимое файлов с диска. Поддерживает чтение конкретных диапазонов строк для экономии контекста в больших файлах.
Пример запроса: "прочитай файл src/components/Header.tsx"
Инструмент: Read → src/components/Header.tsx
Результат: содержимое файла загружается в контекст
Edit — редактирование файлов
Вносит точечные изменения в существующие файлы. Отправляет только diff, а не полное содержимое — это эффективнее и безопаснее. Перед вызовом Edit Claude Code всегда сначала читает файл через Read.
Пример запроса: "замени console.log на proper logger во всех сервисах"
Инструмент: Read → src/services/api.ts
Инструмент: Edit → src/services/api.ts (замена console.log → logger.info)
Инструмент: Read → src/services/auth.ts
Инструмент: Edit → src/services/auth.ts (замена console.log → logger.info)
Write — создание файлов
Создаёт новые файлы или полностью перезаписывает существующие. Используется для генерации новых модулей, конфигов, тестов.
Bash — выполнение команд
Запускает произвольные shell-команды. Это самый мощный инструмент — через него Claude Code может устанавливать зависимости, запускать тесты, собирать проект, работать с git.
Пример запроса: "запусти тесты и исправь падающие"
Инструмент: Bash → npm test
(видит вывод с ошибками)
Инструмент: Read → src/utils/parser.test.ts
Инструмент: Edit → src/utils/parser.ts (исправление бага)
Инструмент: Bash → npm test (тесты проходят)
Grep — поиск по коду
Быстрый поиск текста и паттернов по всей кодовой базе. Использует ripgrep для высокой производительности. Незаменим для поиска использований функций, импортов, TODO-комментариев.
Glob — поиск файлов
Находит файлы по шаблону (glob pattern). Например, **/*.test.ts найдёт все тестовые файлы. Помогает Claude Code понять структуру проекта.
Agent (субагенты)
Запускает вложенного агента Claude для выполнения подзадачи. Субагент получает собственный контекст и набор инструментов. Подробнее — в разделе «Подагенты».
4. CLAUDE.md — память проекта
CLAUDE.md — это специальный файл, который Claude Code автоматически загружает при запуске. Он выполняет роль «памяти» и «инструкции» для AI. Размещается в корне проекта.
Что включить в CLAUDE.md
# CLAUDE.md
## Project Overview
Это Next.js 14 приложение с App Router. Backend — Supabase.
Монорепозиторий: apps/web (фронт), packages/shared (утилиты).
## Build & Run Commands
- `npm run dev` — dev-сервер на порту 3000
- `npm run build` — продакшн-сборка
- `npm test` — запуск Jest-тестов
- `npm run lint` — ESLint + Prettier
## Coding Standards
- TypeScript strict mode, никаких any
- Компоненты — functional + hooks, без классов
- Стили — Tailwind CSS, не используем CSS-модули
- Коммиты — Conventional Commits (feat:, fix:, chore:)
## Architecture
- src/app/ — App Router страницы
- src/components/ — React-компоненты
- src/lib/ — утилиты, API-клиенты
- src/types/ — TypeScript-типы
- supabase/migrations/ — SQL-миграции
## Important Rules
- НЕ удалять файлы миграций
- НЕ коммитить .env файлы
- Всегда запускать тесты перед коммитом
- Использовать named exports, не default
Иерархия CLAUDE.md
Claude Code поддерживает несколько уровней файлов CLAUDE.md:
~/.claude/CLAUDE.md— глобальные настройки пользователя (применяются ко всем проектам)/project/CLAUDE.md— корень проекта (основные инструкции)/project/src/CLAUDE.md— поддиректория (специфичные правила для модуля)
Файлы загружаются иерархически: глобальный → проектный → локальный. Правила из более специфичного файла имеют приоритет.
5. Подагенты (Subagents)
Подагенты — одна из самых мощных возможностей Claude Code. Это вложенные экземпляры Claude, которые получают подзадачу, собственный контекст и набор инструментов. Основной агент может делегировать параллельную работу подагентам.
Типы подагентов
| Тип | Назначение | Инструменты |
|---|---|---|
| Explore | Быстрый поиск и анализ кода | Read, Grep, Glob (только чтение) |
| Plan | Проектирование архитектуры, планирование | Read, Grep, Glob (только чтение) |
| General | Произвольные задачи | Все инструменты |
Сценарии использования подагентов
# Основной агент получает задачу:
"Отрефактори модуль авторизации и добавь тесты"
# Claude Code может:
1. Запустить Explore-подагент → проанализировать текущую архитектуру auth
2. Запустить Plan-подагент → спланировать рефакторинг
3. Самостоятельно выполнить рефакторинг (Edit, Write)
4. Запустить подагент → написать тесты параллельно с проверкой линтинга
Подагенты особенно полезны, когда основному агенту нужно «заглянуть» в часть проекта, не загружая весь контекст. Explore-подагент быстро найдёт нужную информацию и вернёт краткий ответ.
6. Хуки (Hooks)
Хуки — это shell-команды, которые автоматически выполняются при определённых событиях в Claude Code. Они позволяют интегрировать внешние инструменты и автоматизировать рутинные проверки.
Типы хуков
- PreToolUse — выполняется до вызова инструмента. Может заблокировать операцию, если вернёт ненулевой код возврата.
- PostToolUse — выполняется после вызова инструмента. Идеально для автоматического линтинга, форматирования или уведомлений.
- Notification — срабатывает, когда Claude Code хочет привлечь внимание пользователя (например, задача завершена).
Настройка хуков
Хуки настраиваются в файле .claude/settings.json в корне проекта:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit",
"command": "npx eslint --fix $CLAUDE_FILE_PATH"
},
{
"matcher": "Write",
"command": "npx prettier --write $CLAUDE_FILE_PATH"
}
],
"PreToolUse": [
{
"matcher": "Bash",
"command": "echo 'Executing shell command...'"
}
],
"Notification": [
{
"command": "notify-send 'Claude Code' '$CLAUDE_NOTIFICATION'"
}
]
}
}
Пример: автолинтинг после редактирования
Самый популярный сценарий — автоматический запуск ESLint и Prettier после каждого редактирования файла:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit",
"command": "npx eslint --fix $CLAUDE_FILE_PATH && npx prettier --write $CLAUDE_FILE_PATH"
}
]
}
}
Теперь каждый раз, когда Claude Code вносит изменения в файл через инструмент Edit, автоматически запускается линтинг и форматирование. Это гарантирует, что код всегда соответствует стандартам проекта.
7. Система разрешений
Claude Code имеет гибкую систему разрешений, которая контролирует, какие инструменты может использовать агент без подтверждения.
Режимы разрешений
- Default (по умолчанию) — Claude Code запрашивает подтверждение на операции записи (Edit, Write, Bash) при первом использовании. Операции чтения (Read, Grep, Glob) разрешены автоматически.
- Allowlist — вы заранее указываете, какие инструменты и команды разрешены. Всё остальное требует подтверждения.
- Trust mode — все операции разрешены без подтверждения (для CI/CD и автоматизации).
Настройка разрешений
// .claude/settings.json
{
"permissions": {
"allow": [
"Read",
"Grep",
"Glob",
"Edit",
"Write",
"Bash(npm test)",
"Bash(npm run lint)",
"Bash(git *)"
],
"deny": [
"Bash(rm -rf *)",
"Bash(sudo *)"
]
}
}
В интерактивном режиме при каждом вызове инструмента вы видите, что Claude Code собирается сделать, и можете выбрать:
- y — разрешить однократно
- Y — разрешить этот инструмент до конца сессии
- n — отклонить
8. MCP-серверы (Model Context Protocol)
Model Context Protocol (MCP) — это открытый стандарт от Anthropic для подключения внешних инструментов к AI-моделям. Claude Code поддерживает MCP-серверы, что позволяет расширить его возможности далеко за пределы базовых инструментов.
Что такое MCP
MCP-сервер — это программа, которая предоставляет набор инструментов (tools) по стандартизированному протоколу. Claude Code подключается к MCP-серверам и может вызывать их инструменты так же, как встроенные.
Примеры MCP-серверов
- GitHub MCP — работа с issues, PR, repositories через GitHub API
- Postgres MCP — прямые SQL-запросы к базе данных
- Puppeteer MCP — браузерная автоматизация, скриншоты, тестирование UI
- Sentry MCP — анализ ошибок из Sentry
- Linear MCP — управление задачами в Linear
Подключение MCP-сервера
// .claude/settings.json
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "ghp_xxxxxxxxxxxx"
}
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "postgresql://user:pass@localhost:5432/mydb"
}
}
}
}
После подключения MCP-сервера его инструменты появляются в списке доступных. Например, с GitHub MCP вы можете сказать Claude Code: «создай issue с описанием бага» или «открой PR с текущими изменениями».
9. IDE-интеграции
VS Code Extension
Расширение Claude Code для VS Code интегрирует Claude Code прямо в редактор:
- Inline-чат — вызов Claude Code через
Cmd+Shift+P → Claude Code - Выделение кода — выделите код, нажмите правую кнопку → «Ask Claude Code»
- Терминал — встроенный терминал Claude Code в панели VS Code
- Diff-превью — предварительный просмотр изменений до их применения
- Статусная строка — отображение текущего статуса и использования токенов
# Установка расширения из командной строки
code --install-extension anthropic.claude-code
JetBrains Plugin
Плагин для IntelliJ IDEA, WebStorm, PyCharm и других IDE от JetBrains:
- Tool window с чатом Claude Code
- Интеграция с встроенным терминалом
- Поддержка контекста проекта из IDE
Установка: Settings → Plugins → Marketplace → поиск «Claude Code»
10. Реальные примеры использования
Пример 1: Рефакторинг компонента
> Отрефактори компонент UserProfile.tsx:
- Разбей на подкомпоненты (Avatar, UserInfo, UserStats)
- Вынеси логику в кастомный хук useUserProfile
- Добавь TypeScript-типы для всех пропсов
- Замени inline-стили на Tailwind-классы
Claude Code выполнит:
1. Read → src/components/UserProfile.tsx (анализ текущего кода)
2. Write → src/components/UserProfile/Avatar.tsx
3. Write → src/components/UserProfile/UserInfo.tsx
4. Write → src/components/UserProfile/UserStats.tsx
5. Write → src/hooks/useUserProfile.ts
6. Edit → src/components/UserProfile/index.tsx (новый главный файл)
7. Grep → поиск импортов UserProfile по проекту
8. Edit → обновление импортов во всех файлах
9. Bash → npm run typecheck (проверка типов)
10. Bash → npm test (проверка тестов)
Пример 2: Написание тестов
> Напиши unit-тесты для модуля src/lib/validators.ts.
Покрой все edge cases. Используй Jest + @testing-library.
Claude Code выполнит:
1. Read → src/lib/validators.ts (понимание функций)
2. Read → jest.config.ts (понимание конфигурации тестов)
3. Write → src/lib/__tests__/validators.test.ts (создание тестов)
4. Bash → npx jest src/lib/__tests__/validators.test.ts (запуск)
5. Edit → исправление, если тесты не проходят
6. Bash → npx jest --coverage (проверка покрытия)
Пример 3: Создание Pull Request
> Создай PR с текущими изменениями.
Заголовок: "feat: add user notification preferences"
Описание должно включать: что изменилось, почему, как тестировать.
Claude Code выполнит:
1. Bash → git diff --stat (анализ изменений)
2. Bash → git log --oneline -10 (контекст)
3. Bash → git checkout -b feat/notification-preferences
4. Bash → git add -A && git commit -m "feat: add user notification preferences"
5. Bash → git push origin feat/notification-preferences
6. Bash → gh pr create --title "..." --body "..." (через GitHub CLI)
Пример 4: Отладка бага
> При нажатии кнопки "Сохранить" на странице настроек
появляется ошибка "Cannot read property 'map' of undefined".
Найди и исправь баг.
Claude Code выполнит:
1. Grep → поиск "Сохранить" в компонентах
2. Read → src/pages/Settings.tsx
3. Read → src/hooks/useSettings.ts (анализ логики)
4. Grep → поиск вызовов .map в контексте настроек
5. Edit → добавление проверки на null/undefined перед .map
6. Bash → npm test -- --testPathPattern=settings
11. Практические задания
Задание 1: Первый запуск
Установите Claude Code, авторизуйтесь и запустите его в любом своём проекте. Попросите Claude Code объяснить архитектуру проекта. Оцените, насколько точно он понял структуру.
Команды:
npm install -g @anthropic-ai/claude-code
claude login
cd ~/my-project
claude
> Объясни архитектуру этого проекта. Какие основные модули, как они связаны?
Задание 2: Создание CLAUDE.md
Создайте файл CLAUDE.md для вашего проекта. Включите: описание стека, команды сборки и тестирования, coding standards, архитектуру. Затем запустите Claude Code и попросите выполнить задачу — оцените, как CLAUDE.md повлиял на качество результата.
Задание 3: Рефакторинг с тестами
Выберите один модуль в своём проекте. Попросите Claude Code:
- Написать тесты для текущего кода (до рефакторинга)
- Провести рефакторинг
- Убедиться, что тесты проходят после рефакторинга
> Напиши тесты для src/utils/dateFormatter.ts, затем отрефактори этот модуль,
используя date-fns вместо moment.js. Все тесты должны проходить.
Задание 4: Настройка хуков
Настройте PostToolUse хук, который автоматически запускает ESLint после каждого редактирования. Проверьте, что хук срабатывает: попросите Claude Code внести изменение с намеренной ошибкой стиля.
Задание 5: MCP-интеграция
Подключите GitHub MCP-сервер к Claude Code. Попросите Claude Code:
- Вывести список открытых issues в вашем репозитории
- Создать новый issue с описанием
- Взять один issue в работу, внести изменения и создать PR
12. Проверочный тест
Проверьте свои знания по Claude Code. Выберите правильный ответ в каждом вопросе.
Вопрос 1. Какой командой устанавливается Claude Code?
- pip install claude-code
- npm install -g @anthropic-ai/claude-code
- brew install claude
- cargo install claude-code
Правильный ответ: B
Вопрос 2. Какой файл Claude Code автоматически загружает при запуске для получения инструкций по проекту?
- .clauderc
- claude.config.json
- CLAUDE.md
- .ai-instructions
Правильный ответ: C
Вопрос 3. Какой инструмент используется для точечного изменения существующего файла (отправляет только diff)?
- Write
- Bash
- Edit
- Patch
Правильный ответ: C
Вопрос 4. Какой тип хука срабатывает ПОСЛЕ выполнения инструмента и подходит для автолинтинга?
- PreToolUse
- PostToolUse
- AfterExec
- OnComplete
Правильный ответ: B
Вопрос 5. Что такое MCP в контексте Claude Code?
- Multi-Cloud Platform — платформа для деплоя
- Model Context Protocol — стандарт подключения внешних инструментов к AI
- Machine Code Processor — компилятор для AI-моделей
- Managed Control Panel — панель управления Claude
Правильный ответ: B
Итоги курса
Claude Code — это не просто ещё один AI-инструмент. Это фундаментальный сдвиг в процессе разработки: вместо того чтобы писать код вручную или копировать ответы из чата, вы работаете с AI-агентом, который понимает ваш проект целиком и действует самостоятельно.
Ключевые тезисы
- Claude Code — агентный CLI от Anthropic, работающий в терминале с прямым доступом к файлам, shell и git
- 7 базовых инструментов (Read, Edit, Write, Bash, Grep, Glob, Agent) покрывают все потребности разработки
- CLAUDE.md — ваш главный рычаг влияния на качество работы Claude Code
- Подагенты позволяют декомпозировать сложные задачи и работать параллельно
- Хуки автоматизируют рутину (линтинг, форматирование, уведомления)
- MCP-серверы расширяют возможности за пределы файловой системы (GitHub, БД, браузер)
- IDE-интеграции для VS Code и JetBrains — используйте Claude Code в привычной среде
Следующие шаги
- Установите Claude Code:
npm install -g @anthropic-ai/claude-code - Создайте качественный CLAUDE.md для вашего проекта
- Начните с простых задач (объяснение кода, написание тестов)
- Постепенно переходите к сложным (рефакторинг, архитектурные изменения)
- Настройте хуки и MCP-серверы для максимальной автоматизации
Изучайте официальную документацию Anthropic, следите за обновлениями в GitHub-репозитории и экспериментируйте — Claude Code активно развивается, и новые возможности появляются регулярно.