Читать книгу Claude Code: Полное руководство по AI-ассистенту для разработчиков (Ранас Мукминов) онлайн бесплатно на Bookz (3-ая страница книги)
Claude Code: Полное руководство по AI-ассистенту для разработчиков
Claude Code: Полное руководство по AI-ассистенту для разработчиков
Оценить:

4

Полная версия:

Claude Code: Полное руководство по AI-ассистенту для разработчиков


Итоги главы

В этой главе мы:


– Проверили системные требования для Claude Code

– Установили Claude Code через npm, Homebrew или в Docker

– Настроили аутентификацию через веб-вход, API-ключ или облачного провайдера

– Изучили систему конфигурационных файлов: CLAUDE.md, .claude/, ~/.claude/

– Настроили интеграцию с VS Code, JetBrains, Vim/Neovim и Emacs

– Оптимизировали рабочее окружение: tmux, утилиты командной строки, алиасы

– Разобрали типичные проблемы при установке и их решения

– Научились управлять затратами на API


В следующей главе мы сделаем первые практические шаги: создадим проект, научимся основным паттернам взаимодействия и напишем первый код с помощью Claude Code.


Глава 3. Первые шаги с Claude Code


3.1. Запуск и интерфейс командной строки

Итак, Claude Code установлен, аутентификация настроена, и вы готовы к работе. Откройте терминал и перейдите в каталог с проектом – или созданим новый:


mkdir -p ~/projects/my-first-project

cd ~/projects/my-first-project

claude


Claude Code запускается и представляет лаконичный интерфейс командной строки. В отличие от громоздких графических приложений, здесь нет кнопок, менюю или панелей инструментов – только текстовое поле для ввода и область для отображения ответов. Эта минималистичность обманчива: за ней скрывается мощная система, способная выполнять сложнейшие операции.


Интерфейс Claude Code состоит из нескольких элементов:


Строка приглашения (prompt) – символ >, за которым вы вводите свои запросы. Здесь вы общаетесь с AI на естественном языке: задаёте вопросы, ставите задачи, просите объяснить код.


Область вывода – пространство, где Claude Code отображает свои ответы, включая текст, код, визуализации прогресса и результаты выполнения инструментов.


Индикаторы инструментов – при выполнении операций (чтение файлов, запуск команд, запись в файлы) Claude Code показывает, какой инструмент используется и с какими параметрами. Это обеспечивает прозрачность: вы всегда видите, что именно делает AI.


Строка состояния – внизу экрана отображается информация о текущей модели, стоимости сессии и количестве использованных токенов.


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

Claude Code поддерживает несколько режимов работы:


Интерактивный режим (по умолчанию) – вы ведёте диалог с Claude Code, поочерёдно отправляя запросы и получая ответы. Это основной режим для повседневной работы.


claude # Запуск в интерактивном режиме


Однократный режим (print mode) – Claude Code обрабатывает один запрос и завершает работу. Удобно для скриптов и автоматизации.


claude –print "Объясни, что делает файл main.py"


Режим продолжения – возобновление предыдущего диалога:


claude –continue # Продолжить последний диалог

claude –resume # Выбрать из списка предыдущих диалогов


Pipe-режим – Claude Code принимает входные данные через стандартный ввод:


cat error.log | claude –print "Проанализируй эти логи ошибок"

git diff | claude –print "Проведи code review этих изменений"


Pipe-режим – невероятно мощная возможность, потому что он позволяет встраивать Claude Code в любой конвейер Unix-команд. Представьте:


grep -rn "TODO:" src/ | claude –print "Расставь приоритеты для этих задач"

git log –oneline -20 | claude –print "Напиши changelog из этих коммитов"

npm audit –json | claude –print "Объясни найденные уязвимости и предложи решения"


3.2. Анатомия диалога

Каждое взаимодействие с Claude Code можно разложить на несколько фаз. Понимание этих фаз поможет строить более эффективные диалоги.


Фаза 1: Получение запроса

Вы вводите запрос на естественном языке. Claude Code принимает запрос, добавляет к нему системный контекст (содержимое CLAUDE.md, информацию о проекте, историю диалога) и отправляет на обработку.


Фаза 2: Планирование

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


> Добавь аутентификацию через JWT в наш API

Claude Code:

Для добавления JWT-аутентификации мне потребуется:

1. Установить необходимые зависимости (PyJWT, passlib)

2. Создать модель User

3. Написать функции хеширования паролей

4. Реализовать эндпоинты регистрации и входа

5. Создать middleware для проверки токенов

6. Обновить существующие эндпоинты

Начинаю с зависимостей…


Фаза 3: Выполнение инструментов

Claude Code последовательно вызывает инструменты для реализации плана. Каждый вызов отображается в интерфейсе:


Tool: ReadFile

File: requirements.txt

Tool: Bash

Command: pip install PyJWT passlib[bcrypt]

Tool: WriteFile

File: app/models/user.py

[показ содержимого файла]

Tool: WriteFile

File: app/core/security.py

[показ содержимого файла]


Фаза 4: Запрос подтверждения (при необходимости)

Для потенциально опасных операций Claude Code запрашивает ваше подтверждение:


Tool: Bash

Command: pip install PyJWT passlib[bcrypt]

Allow? [Y/n/always]


Варианты ответа:


– Y или Enter – разрешить выполнение

– n – отклонить

– always – разрешить и запомнить для этого типа операций


Фаза 5: Подведение итогов

После выполнения всех шагов Claude Code подводит итог:


Готово! Я добавил JWT-аутентификацию:

[+] Установлены PyJWT и passlib

[+] Создана модель User с хешированием пароля

[+] Реализованы эндпоинты /auth/register и /auth/login

[+] Создан middleware verify_token

[+] Обновлены защищённые маршруты

Для тестирования:

curl -X POST http://localhost:8000/auth/register \

-H "Content-Type: application/json" \

-d '{"email": "user@example.com", "password": "secret123"}'


3.3. Базовые команды и навигацияСлэш-команды

Claude Code поддерживает набор слэш-команд для управления сессией. Разберём каждую подробно.


/help – Справка


> /help

Доступные команды:

/help Показать эту справку

/clear Очистить контекст диалога

/compact Сжать контекст (экономия токенов)

/status Информация о сессии

/cost Стоимость текущей сессии

/model Переключить модель

/permissions Управление разрешениями

/config Настройки

/bug Отправить отчёт об ошибке

/quit Выход


/clear – Сброс контекста


Команда /clear полностью сбрасывает контекст диалога. Используйте её, когда:


– Переключаетесь на совершенно другую задачу

– Контекст стал слишком большим и замедляет работу

– Claude Code «запутался» и даёт неадекватные ответы


После /clear Claude Code забудет всё, что обсуждалось ранее, но сохранит конфигурацию проекта (CLAUDE.md, settings и т. д.).


/compact – Сжатие контекста


/compact – одна из наиболее полезных команд. Она заставляет Claude Code сжать историю диалога, сохранив ключевую информацию, но уменьшив объём контекста. Это экономит токены и деньги.


> /compact

Контекст сжат:

До: 45 832 токена

После: 12 447 токенов

Сэкономлено: 33 385 токенов (~73%)


Рекомендуется вызывать /compact после каждого крупного блока работы – например, после завершения реализации конкретной функции.


Вы также можете указать фокус при сжатии:


> /compact Сфокусируйся на работе с базой данных

Claude Code сожмёт контекст, но сохранит детали, связанные

с базой данных, и удалит менее релевантную информацию.


/status – Информация о сессии


> /status

Session Info:

Model: claude-sonnet-4-20250514

Context used: 23,451 / 200,000 tokens (12%)

Messages: 14

Files read: 8

Files written: 3

Commands executed: 5

Duration: 12m 34s

Cost: $0.47


/cost – Детализация стоимости


> /cost

Cost Breakdown:

Input tokens: 187,234 ($0.32)

Output tokens: 41,892 ($0.15)

Cached tokens: 124,891 ($0.04)

Total: $0.47


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

Claude Code поддерживает стандартные горячие клавиши терминала:


– Ctrl+C – отменить текущую операцию или выйти

– Ctrl+D – выйти из Claude Code

– Up/Down – навигация по истории запросов

– Tab – автодополнение слэш-команд

– Ctrl+L – очистить экран (без сброса контекста)

– Esc – отменить ввод текущего промпта


Многострочный ввод

Для длинных промптов используйте многострочный ввод. Нажмите \ в конце строки для продолжения на следующей, или используйте Shift+Enter (в поддерживающих терминалах):


> Создай REST API со следующими эндпоинтами: \

GET /users – список пользователей, \

POST /users – создание пользователя, \

GET /users/:id – получение пользователя, \

PUT /users/:id – обновление, \

DELETE /users/:id – удаление. \

Используй Express.js и MongoDB.


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

Контекстное окно – это «рабочая память» Claude Code. Всё, что вы обсудили, все прочитанные файлы и результаты выполненных команд хранятся в этом окне. Когда окно заполняется, старая информация начинает вытесняться, что может привести к потере контекста.


Размер контекстного окна

В зависимости от модели, контекстное окно Claude Code составляет:


– Claude Sonnet: ~200 000 токенов

– Claude Opus: ~200 000 токенов

– Claude Haiku: ~200 000 токенов


Один токен – это примерно 4 символа для английского текста и 1-2 символа для русского. Файл на 1000 строк занимает примерно 10 000-20 000 токенов.


Стратегии управления контекстом

1. Будьте избирательны. Не просите Claude Code «прочитай все файлы в проекте». Вместо этого укажите конкретные файлы или каталоги:


> Проанализируй весь проект

> Проанализируй файлы в каталоге src/auth/ – мне нужно

понять текущую систему аутентификации


2. Используйте /compact регулярно. Как упоминалось ранее, сжатие контекста высвобождает место для новой информации.


3. Разбивайте задачи. Вместо одного длинного диалога ведите несколько коротких. Завершили реализацию одной функции – начните новый диалог для следующей.


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


5. Следите за индикатором. Команда /status показывает, какой процент контекстного окна использован. При приближении к 70-80% подумайте об оптимизации.


Что происходит при переполнении

Когда контекстное окно заполняется, Claude Code применяет алгоритм сжатия:


– Старые сообщения сжимаются в краткие резюме

– Результаты выполненных команд усекаются

– Содержимое прочитанных файлов может быть частично удалено

– Системные промпты и CLAUDE.md сохраняются в приоритете


Вы можете заметить, что Claude Code «забыл» что-то, что обсуждалось ранее. Это нормально – просто напомните ему нужный контекст.


3.5. Первый проект: создание веб-приложения

Давайте создадим полноценный проект, чтобы увидеть Claude Code в действии. Мы построим простое, но функциональное веб-приложение – менеджер заметок.


Шаг 1: Инициализация проекта

> Создай новый проект – менеджер заметок.

Стек: Node.js, Express, SQLite, EJS для шаблонов.

Базовая функциональность: создание, чтение, редактирование,

удаление заметок. Каждая заметка имеет заголовок, содержимое

и дату создания/обновления.


Claude Code начнёт работу:


– Создаст package.json с зависимостями

– Инициализирует npm-проект

– Создаст структуру каталогов:


notes-app/

+– package.json

+– server.js

+– database.js

+– routes/

| +– notes.js

+– views/

| +– layout.ejs

| +– index.ejs

| +– note.ejs

| +– edit.ejs

+– public/

| +– style.css

+– README.md


– Напишет код сервера, маршруты, модели и шаблоны

– Установит зависимости

– Проверит работоспособность


Шаг 2: Проверка и запуск

После генерации проверим, что всё работает:


> Запусти приложение и проверь, что главная страница открывается


Claude Code выполнит:


node server.js


И проверит доступность через curl или встроенный инструмент.


Шаг 3: Доработка

Теперь добавим функциональность:


> Добавь поиск по заметкам: поле поиска на главной странице,

которое фильтрует заметки по заголовку и содержимому.

Поиск должен быть нечувствительным к регистру.


Claude Code изменит несколько файлов:


– Добавит маршрут /search в routes/notes.js

– Добавит SQL-запрос с LIKE в database.js

– Обновит шаблон index.ejs, добавив форму поиска

– Обновит стили в style.css


Шаг 4: Итерация

Этот процесс можно продолжать сколько угодно:


> Добавь категории для заметок

> Добавь markdown-рендеринг в содержимом заметки

> Добавь экспорт заметок в PDF

> Добавь тёмную тему


Каждый запрос – это итерация, которая наращивает функциональность проекта. Claude Code помнит контекст предыдущих шагов и строит новые функции на существующей основе.


3.6. Работа с файлами

Работа с файлами – одна из основных возможностей Claude Code. Разберём ключевые операции.


Чтение файлов

Claude Code может читать файлы различными способами:


> Покажи содержимое файла server.js

> Прочитай все файлы в каталоге src/

> Что находится в package.json?


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


Создание файлов

> Создай файл config.js с настройками приложения:

порт, строка подключения к БД, секретный ключ для JWT


Claude Code создаст файл с осмысленным содержимым:


// config.js

const config = {

port: process.env.PORT || 3000,

database: {

url: process.env.DATABASE_URL || 'sqlite:./data/app.db',

},

jwt: {

secret: process.env.JWT_SECRET || 'change-me-in-production',

expiresIn: '24h',

},

app: {

name: 'Notes Manager',

version: '1.0.0',

},

};

module.exports = config;


Редактирование файлов

Claude Code может вносить точечные изменения, не перезаписывая весь файл:


> В файле server.js добавь middleware для логирования

запросов с помощью morgan


Claude Code прочитает файл, определит нужное место для вставки и внесёт минимальные изменения:


// Добавлено:

const morgan = require('morgan');

// …

app.use(morgan('dev'));


Удаление файлов

> Удали файл temp.js – он больше не нужен


Claude Code запросит подтверждение перед удалением.


Переименование и перемещение

> Переименуй database.js в db/connection.js


Claude Code создаст каталог, переместит файл и обновит все import/require-ссылки в проекте.


Массовые операции

Одно из преимуществ агентного подхода – способность выполнять массовые операции:


> Добавь JSDoc-комментарии ко всем экспортируемым функциям

в каталоге src/utils/


Claude Code последовательно прочитает каждый файл, проанализирует функции, добавит документацию и сохранит изменения.


3.7. Работа с терминалом

Claude Code может выполнять команды в терминале – это даёт ему возможность непосредственно взаимодействовать с операционной системой, инструментами разработки и инфраструктурой.


Безопасность выполнения команд

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


– Безопасные команды (чтение файлов, ls, cat, find, grep) – выполняются без подтверждения

– Команды разработки (npm run, pytest, go build) – зависят от настроек

– Потенциально опасные (установка пакетов, изменение конфигурации) – требуют подтверждения

– Опасные (rm, sudo, curl | bash) – всегда требуют подтверждения


Вы можете настроить уровень доверия через разрешения в .claude/settings.json.


Типичные сценарии выполнения команд

Установка зависимостей:


> Установи необходимые зависимости для проекта

Claude Code: Для этого мне нужно выполнить:

npm install express ejs better-sqlite3 morgan

Allow? [Y/n/always]


Запуск тестов:


> Запусти тесты и исправь падающие

Claude Code выполнит `npm test`, проанализирует вывод,

найдёт причины ошибок и исправит код.


Сборка проекта:


> Собери проект для продакшена

Claude Code выполнит `npm run build`, проверит результат,

исправит проблемы при необходимости.


Работа с Git:


> Создай коммит с осмысленным сообщением

Claude Code проанализирует diff, сформулирует сообщение

и выполнит `git add` + `git commit`.


Анализ системы:


> Покажи использование дискового пространства в проекте

> Какие процессы занимают порт 3000?

> Проверь, запущен ли Docker


Конвейеры команд

Claude Code может строить сложные конвейеры команд и анализировать их результаты:


> Найди все TypeScript файлы с неиспользуемыми импортами

Claude Code может выполнить:

npx ts-prune | head -50

И затем проанализировать результат, показав вам список

файлов с неиспользуемыми экспортами.


3.8. Навигация по проекту

Одна из мощных возможностей Claude Code – способность самостоятельно навигировать по проекту. Вы не обязаны указывать точные имена файлов и пути – Claude Code найдёт нужное самостоятельно.


Поиск файлов

> Где определена функция calculateDiscount?

Claude Code использует grep/ripgrep для поиска:

rg "function calculateDiscount|calculateDiscount =" src/

И найдёт: src/utils/pricing.js:42


Понимание зависимостей

> Какие файлы импортируют модуль database.js?

Claude Code найдёт все файлы, которые используют

require('./database') или import from './database'.


Анализ структуры

> Опиши архитектуру проекта

Claude Code прочитает ключевые файлы (package.json,

структуру каталогов, основные модули) и составит

описание архитектуры.


Поиск по содержимому

> Найди все места, где используется deprecated API

из библиотеки axios

Claude Code выполнит поиск по шаблонам и покажет

результаты с контекстом.


3.9. Мультимодальность: работа с изображениями

Claude Code (через модели Claude) поддерживает мультимодальность – он может анализировать изображения. Это полезно в нескольких сценариях:


Реализация дизайна

Если у вас есть макет интерфейса в виде изображения, вы можете передать его Claude Code:


> Вот макет главной страницы [скриншот].

Реализуй этот дизайн в HTML/CSS.


Claude Code проанализирует изображение и создаст HTML/CSS-код, максимально приближенный к макету.


Анализ скриншотов ошибок

> Вот скриншот ошибки в браузере [изображение].

Что может быть причиной?


Claude Code прочитает текст ошибки с изображения и предложит решение.


Диаграммы и схемы

> Вот диаграмма архитектуры [изображение].

Создай Docker Compose файл на основе этой схемы.


3.10. Паттерны эффективного взаимодействия

За время работы с Claude Code сообщество выработало ряд паттернов, которые значительно повышают эффективность.


Паттерн «Контекст -> Задача -> Ограничения»

Структурируйте запросы в три блока:


> [Контекст] Мы разрабатываем e-commerce платформу на Django.

Сейчас работаем над модулем корзины покупок.

[Задача] Нужно реализовать функцию применения промокодов.

Промокод может давать процентную скидку (10%, 20%) или

фиксированную (500 руб, 1000 руб). Один промокод на заказ.

[Ограничения] Используй существующую модель CartItem.

Промокоды хранятся в таблице Promo. Валидацию делай на

уровне сервиса, не в модели.


Паттерн «Обзор -> Детализация -> Реализация»

Для сложных задач разбивайте работу на три этапа:


> Предложи архитектуру системы уведомлений.

Поддержка: email, push, SMS, in-app.

> Отлично, давай детализируем вариант с очередями.

Как будет выглядеть интерфейс NotificationService?

> Реализуй NotificationService согласно обсуждённому плану.


Паттерн «Покажи перед изменением»

Перед внесением изменений в критический код попросите Claude Code показать план:


> Покажи, как ты собираешься изменить auth middleware,

но пока не меняй файлы. Я хочу посмотреть план.


Это даёт возможность скорректировать направление до того, как будут внесены изменения.


Паттерн «Исправь и проверь»

После каждого блока изменений просите запустить проверку:


> Исправь ошибку в парсере и запусти тесты,

чтобы убедиться, что ничего не сломалось.


Этот паттерн помогает ловить регрессии на ранней стадии.


Паттерн «Объясни как учителю»

Когда вы хотите не просто получить код, но и понять решение:


> Реализуй алгоритм LRU-кэша и объясни каждый шаг,

как будто я джуниор-разработчик. Почему именно

такая структура данных? Какие альтернативы?


3.11. Управление сессиями

Claude Code поддерживает сохранение и возобновление диалогов, что позволяет продолжить работу с того места, где вы остановились.


Продолжение последнего диалога

claude –continue

claude -c


Это загрузит последний диалог со всей историей и контекстом. Полезно, когда вы закрыли терминал и хотите продолжить работу.


Возобновление конкретного диалога

claude –resume


Откроет список предыдущих диалогов с описаниями, из которого вы можете выбрать нужный.


Организация диалогов

Для организации работы рекомендуется:


– Один диалог – одна задача (фича, баг, рефакторинг)

– Используйте /clear перед началом совершенно новой задачи

– Используйте --continue для продолжения незавершённой работы

– Делайте /compact перед сохранением длинного диалога


3.12. Практическое упражнение: от нуля до деплоя

Закрепим полученные знания комплексным упражнением. Мы создадим, настроим и подготовим к деплою веб-приложение за один диалог.


Задание

Создайте приложение «Книжная полка» – каталог книг с возможностью добавления, редактирования, удаления, поиска и фильтрации по жанрам.


Рекомендуемая последовательность промптов

1. > Создай приложение "Книжная полка" на Express.js + SQLite + EJS.

Модель книги: название, автор, жанр, год, рейтинг, обложка (URL).

CRUD для книг, поиск, фильтрация по жанру.

Красивый, современный интерфейс.

2. > Запусти приложение и проверь, что всё работает.

3. > Добавь 10 тестовых книг из русской классики с реальными данными.

4. > Добейся, чтобы приложение красиво выглядело на мобильных устройствах.

Используй responsive дизайн.

5. > Добавь пагинацию: по 6 книг на страницу.

6. > Напиши тесты для API-эндпоинтов.

7. > Создай Dockerfile для деплоя.

8. > Напиши README.md с инструкциями по запуску и деплою.


После выполнения этого упражнения у вас будет полноценное приложение, готовое к развёртыванию, – и глубокое понимание рабочего процесса с Claude Code.


Итоги главы

В этой главе мы:


– Освоили запуск Claude Code и интерфейс командной строки

– Изучили режимы работы: интерактивный, однократный, продолжение и pipe

– Поняли анатомию диалога: от запроса через планирование и выполнение к итогам

– Разобрали базовые слэш-команды: /help, /clear, /compact, /status, /cost

– Научились управлять контекстным окном для оптимальной работы

– Создали первый проект – менеджер заметок

– Освоили работу с файлами: чтение, создание, редактирование, удаление

bannerbanner