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 — поддиректория (специфичные правила для модуля)

Файлы загружаются иерархически: глобальный → проектный → локальный. Правила из более специфичного файла имеют приоритет.

Совет: Хороший CLAUDE.md — это инвестиция. Чем точнее инструкции, тем качественнее работает Claude Code. Обновляйте его по мере развития проекта.

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:

  1. Написать тесты для текущего кода (до рефакторинга)
  2. Провести рефакторинг
  3. Убедиться, что тесты проходят после рефакторинга
> Напиши тесты для src/utils/dateFormatter.ts, затем отрефактори этот модуль,
  используя date-fns вместо moment.js. Все тесты должны проходить.

Задание 4: Настройка хуков

Настройте PostToolUse хук, который автоматически запускает ESLint после каждого редактирования. Проверьте, что хук срабатывает: попросите Claude Code внести изменение с намеренной ошибкой стиля.

Задание 5: MCP-интеграция

Подключите GitHub MCP-сервер к Claude Code. Попросите Claude Code:

  1. Вывести список открытых issues в вашем репозитории
  2. Создать новый issue с описанием
  3. Взять один issue в работу, внести изменения и создать PR

12. Проверочный тест

Проверьте свои знания по Claude Code. Выберите правильный ответ в каждом вопросе.

Вопрос 1. Какой командой устанавливается Claude Code?

  1. pip install claude-code
  2. npm install -g @anthropic-ai/claude-code
  3. brew install claude
  4. cargo install claude-code

Правильный ответ: B

Вопрос 2. Какой файл Claude Code автоматически загружает при запуске для получения инструкций по проекту?

  1. .clauderc
  2. claude.config.json
  3. CLAUDE.md
  4. .ai-instructions

Правильный ответ: C

Вопрос 3. Какой инструмент используется для точечного изменения существующего файла (отправляет только diff)?

  1. Write
  2. Bash
  3. Edit
  4. Patch

Правильный ответ: C

Вопрос 4. Какой тип хука срабатывает ПОСЛЕ выполнения инструмента и подходит для автолинтинга?

  1. PreToolUse
  2. PostToolUse
  3. AfterExec
  4. OnComplete

Правильный ответ: B

Вопрос 5. Что такое MCP в контексте Claude Code?

  1. Multi-Cloud Platform — платформа для деплоя
  2. Model Context Protocol — стандарт подключения внешних инструментов к AI
  3. Machine Code Processor — компилятор для AI-моделей
  4. 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 в привычной среде

Следующие шаги

  1. Установите Claude Code: npm install -g @anthropic-ai/claude-code
  2. Создайте качественный CLAUDE.md для вашего проекта
  3. Начните с простых задач (объяснение кода, написание тестов)
  4. Постепенно переходите к сложным (рефакторинг, архитектурные изменения)
  5. Настройте хуки и MCP-серверы для максимальной автоматизации

Изучайте официальную документацию Anthropic, следите за обновлениями в GitHub-репозитории и экспериментируйте — Claude Code активно развивается, и новые возможности появляются регулярно.