Главная / 🌱 Начинающий / Первая задача

Первая задача

Пошаговый разбор: как правильно поставить задачу, использовать Plan Mode и проверить результат.

Шаг 1: Откройте терминал в папке проекта

1
Перейдите в папку проекта

Claude Code работает с файлами в текущей директории. Поэтому первое — перейти в корень вашего проекта.

# Windows PowerShell
cd E:\Clients\myproject

# Или Git Bash / WSL
cd /e/Clients/myproject
2
Запустите Claude Code
claude

# Появится приветствие:
╭─────────────────────────────╮
│  Claude Code v1.x           │
│  Model: claude-sonnet-4-5   │
│  Cwd: E:\Clients\myproject  │
╰─────────────────────────────╯
3
Включите Plan Mode

Нажмите Shift+Tab два раза. В строке ввода должен появиться индикатор [plan] или [auto-approve: off].

Это означает: Claude покажет план перед любым изменением файлов и спросит подтверждение.

💡
Для первых задач Plan Mode — обязателен. Потом, когда привыкнете — решите сами нужен ли он.

Шаг 2: Правильно сформулируйте задачу

Качество задачи напрямую влияет на качество результата. Плохая задача → плохой код.

❌ Плохо
«Добавь авторизацию»

Непонятно: какую систему, какие поля, как хранить сессии, какой стек.

✅ Хорошо
«Добавь авторизацию через email+password. Проект на Laravel 11. Использовать встроенный Auth, сохранять сессию в Redis. Форма входа: resources/views/auth/login.blade.php»
❌ Плохо
«Почини это»

Что именно? Где ошибка?

✅ Хорошо
«При регистрации падает ошибка "Column 'phone' doesn't exist". Миграция в database/migrations/2024_01_add_phone.php. Поправь схему»

Формула хорошей задачи

[ЧТО сделать] + [ГДЕ находится] + [КАКОЙ стек/версия] + [КОНТЕКСТ]

Примеры:
- «Напиши тест для метода UserService::create() в app/Services/UserService.php.
  Используй PHPUnit, мокай UserRepository»

- «В компоненте UserCard.vue (src/components/UserCard.vue) добавь отображение
  аватара. Аватар хранится в поле user.avatar_url, по умолчанию показывать
  /img/default-avatar.png»

- «Оптимизируй SQL запрос в app/Repositories/OrderRepository.php метод
  getByUser(). Сейчас N+1 проблема — добавь eager loading»

Шаг 3: Оцените план Claude

После вашей задачи Claude в Plan Mode покажет что он собирается делать:

Claude: Вот мой план:

1. Прочитаю app/Services/UserService.php
2. Создам файл tests/Unit/Services/UserServiceTest.php
3. Напишу тест для метода create() с моком UserRepository
4. Запущу php artisan test --filter=UserServiceTest

Продолжить? [y/n]

Что проверить в плане:

Шаг 4: Проверьте результат

После выполнения задачи обязательно проверьте что получилось:

A
Прочитайте изменённые файлы
# Посмотреть что изменилось
git diff

# Или попросить Claude объяснить что он сделал
You: Объясни что ты изменил и почему
B
Запустите тесты или приложение
php artisan test
# или попросите Claude:
You: Запусти тесты и покажи результат
C
Если что-то не так — скажите Claude

Не нужно исправлять вручную. Просто опишите проблему:

You: Тест падает с ошибкой "Undefined method mock::shouldReceive()".
     Вот полный вывод: [вставьте ошибку]

Claude: Понял, в тесте не подключен Mockery. Исправляю...

Полезные команды в процессе работы

КомандаЧто делает
/helpСписок всех команд CC
/clearОчистить историю сессии (сбрасывает контекст)
/statusПоказать текущую модель, токены, настройки
Ctrl+CОстановить выполнение (если Claude что-то делает долго)
Shift+Tab×2Включить/выключить Plan Mode
/model opusПереключиться на Opus для сложной задачи

Чеклист первой задачи

Первая задача выполнена! Теперь изучите типичные ошибки новичков — чтобы не наступать на одни и те же грабли.