С первого взгляда терминал выглядит сурово: тёмное окно, мигающий курсор и никаких привычных кнопок. На деле всё прозаичнее. Это прямой способ сказать компьютеру, что сделать: одна команда показывает файлы, другая переводит в нужную папку, третья запускает программу.
Почти все затыки в начале работы с агентом - не про формулировку запроса, а про то, что терминал стоит не в той папке. Поэтому сначала разберёмся с папками и путями, а до команды claude дойдём уже потом. В конце применим всё это к проекту javarush-project, где каждая задача живёт как отдельный проект.
Терминал - прямой способ управлять проектом
Терминал - это окно, в котором вы управляете компьютером текстовыми командами. Вместо поиска нужной кнопки в меню вы точно называете действие: покажи файлы, открой папку, запусти программу.
Мышью быстрее ровно до того момента, когда действие приходится повторить в десятый раз. Вот что терминал даёт взамен:
- команда делает одно конкретное действие - результат виден в том же окне, гадать не надо;
- последовательность легко повторить - проверить папку, посмотреть файлы, перейти и запустить;
- видно состояние, которое прячет интерфейс, - прежде всего текущую папку.
Выбирать что-то одно не нужно. В IDEA удобно находить файлы глазами и открывать их кликом, а в терминале - выполнять точную команду и сразу видеть ответ. На практике оба способа постоянно работают рядом.
Когда вы вводите claude, агент начинает работу из текущей директории терминала. Поэтому сначала полезно понять, где находится терминал, и только потом запускать агента.

Пять команд для повседневной работы
Пять действий. На первое время этого правда хватит. На Windows используем PowerShell, а на macOS и Linux - стандартный терминал. Короткие команды во всех трёх случаях выглядят одинаково.
| Команда | Расшифровка | Что делает |
|---|---|---|
pwd | print working directory - "показать рабочую директорию" | Печатает полный путь к папке, в которой сейчас находится терминал. |
ls | list - "список" | Показывает файлы и папки в текущей директории. |
cd demo-project | change directory - "сменить директорию" | Переходит в соседнюю папку demo-project. |
cd .. | .. означает родительскую директорию | Поднимает терминал на одну папку выше. |
claude | Имя запускаемой программы | Запускает Claude Code из текущей директории. |
В PowerShell короткие команды - просто удобные псевдонимы: pwd вызывает Get-Location, ls - Get-ChildItem, а cd - Set-Location. Пугаться длинных названий не надо, запоминать их сейчас тоже. Но по ним хорошо видно смысл команды.
А теперь короткий прогон для macOS или Linux. Сначала терминал находится в папке projects, затем переходит в demo-project:

Смотрите на последнюю часть пути: projects сменился на demo-project. Никакой магии. Команда cd не открыла новый файл и ничего не скопировала, она лишь переместила рабочую точку терминала в другую папку.
Клавиши, которые экономят время
Тут есть пара привычек, которые быстро экономят время. Терминал хранит историю ввода и помогает дополнять длинные имена:
↑- показывает предыдущую команду. Нажмите несколько раз, чтобы пройти дальше по истории;↓- возвращает к более новым командам в истории;Tab- дополняет имя команды, файла или папки. Например, наберитеcd demи нажмитеTab, чтобы получитьcd demo-project;←и→- двигают курсор внутри строки, чтобы исправить одну букву без повторного ввода всей команды;Ctrl+C- обычно останавливает выполняющуюся команду, если вы запустили не то или процесс не заканчивается;Ctrl+L- очищает видимую область терминала, но не удаляет файлы и историю команд.
Чаще всего пригодятся стрелка вверх и Tab. Первая возвращает уже введённую команду, вторая уменьшает количество ошибок в длинных путях.
Папка, директория и путь
Скопировали путь в команду, перешли в другую папку - и та же самая команда больше не работает. Дело не в опечатке: пути бывают двух сортов, и один из них зависит от того, где сейчас стоит терминал. Разберём оба.
Сначала о названиях, тут всё проще, чем кажется. Папка и директория означают одно и то же. В интерфейсе чаще говорят "папка", а в разговоре о терминале - "директория".
Путь - это адрес директории на диске. На Windows, macOS и Linux разделители выглядят по-разному, но логика одна: каждый фрагмент пути ведёт глубже. Сначала диск или корневая директория, затем пользователь, общая папка проектов и, наконец, конкретный проект.
Полный путь и абсолютный путь - это одно и то же, просто два названия. Такой путь начинается от самого верха файловой системы: от буквы диска на Windows или от символа / на macOS и Linux. Он приводит к одному месту независимо от того, в какой директории сейчас открыт терминал.
С относительным путём наоборот: он описывает дорогу от текущей директории. Получается короче, потому что начальную часть адреса можно не повторять. Но перейдёте в другую папку - и смысл пути изменится.
Допустим, внутри проекта лежит такой файл:
demo-project/
└── src/
└── index.htmlТерминал открыт в корне demo-project. Вот два способа добраться до одного и того же index.html:
| Система | Полный, или абсолютный путь | Относительный путь от demo-project |
|---|---|---|
| Windows | C:\Users\student\projects\demo-project\src\index.html | .\src\index.html |
| macOS | /Users/student/projects/demo-project/src/index.html | ./src/index.html |
| Linux | /home/student/projects/demo-project/src/index.html | ./src/index.html |
Точка . означает "текущая директория". Поэтому .\src\index.html и ./src/index.html читаются как "из текущей папки войти в src и взять index.html". Точку часто опускают: src\index.html и src/index.html означают то же самое.
Если подняться из demo-project в общую папку projects, прежний относительный путь уже не сработает. От нового места понадобится .\demo-project\src\index.html на Windows или ./demo-project/src/index.html на macOS и Linux. Полный путь при этом не изменится.
Путь с пробелами берут в двойные кавычки, иначе терминал решит, что после пробела начинается уже другой аргумент:
cd "C:\Users\student\My Projects\demo-project"Почему важна текущая директория
Терминал всегда находится в какой-то директории, даже до первой команды. Её называют текущей или рабочей директорией. От неё команды начинают искать файлы и вычислять относительные пути.
Вам нужно скопировать файл из "Downloads" в "Секреты бухгалтерии" внутри "Documents". Вы копируете файл, проходите весь путь до нужной папки и только там жмёте "Вставить". Файл записывается на диск по одному конкретному адресу. Никто не вставляет файл "куда-то в Documents" - вы каждый раз доходите до точного места, просто делаете это мышкой и не задумываетесь.
В терминале работа та же, только вместо окна проводника - строка пути. Директорию по-прежнему выбираете вы, и уже из неё начинает работать агент.
Открыть терминал в корне диска C:\ технически можно. Хорошая ли это идея? Нет. И дело не в том, что Claude Code бросится читать каждый файл на диске - не бросится. Дело в том, что вы выбрали плохую исходную точку:
- у агента нет ясной границы одного проекта - рядом системные файлы, пользовательские папки и другие ваши проекты;
- относительные пути начинаются не там, где вы ожидаете -
srcвнезапно уже не тотsrc; - по самому пути не понять, с каким проектом вы работаете сейчас.
Есть ещё одна мелочь, на которой легко споткнуться: открытый файл IDEA и текущая директория терминала - разные состояния. Вы можете смотреть файл одного проекта, а терминал всё ещё будет находиться в другом. Переключение вкладки редактора не переносит уже открытый терминал.
Точка старта
Корень проекта - это верхняя папка, внутри которой лежат связанные файлы одного проекта: код, настройки, документация и другие нужные материалы. Формальное определение можно не зубрить. Проще смотреть на роль: эта папка собирает один проект целиком.
Например, общая папка projects может хранить несколько независимых проектов:
projects/
├── demo-project/
│ ├── README.md
│ └── src/
└── calculator/
├── README.md
└── src/В этом дереве projects - контейнер. Корень первого проекта находится в demo-project, второго - в calculator. Запускать агента из общей папки можно технически, но полезного контекста там меньше: рядом лежат два несвязанных проекта.
На практике правило короткое: найдите верхнюю папку именно того проекта, который хотите изменить, откройте терминал там и запускайте инструменты из неё. Тогда команды, файлы и проектные инструкции оказываются в одной понятной области.
Агент изучает структуру и файлы вокруг задачи, чтобы понять контекст. Если запустить его слишком высоко, рядом окажутся и другие проекты. При нечётком запросе агент может решить, что они тоже связаны с задачей, и по ходу изменить то, что менять не просили.
В потоке работы легко увидеть ожидаемый результат и пропустить дополнительные правки в соседнем проекте. Поэтому правильная рабочая директория - не формальность, а понятная граница для агента.
Как устроен javarush-project
А теперь тот самый случай с JavaRush. Плагин IDEA загружает задачи в одно большое дерево javarush-project. Снаружи оно выглядит как один проект, но внутри есть важный поворот: каждая задача - отдельный проект.
Не один файл в общей куче, а свой проект: со своей папкой, своими файлами и собственными правилами для агента в .claude. Сколько задач, столько и проектов. буквально.
Упрощённо дерево выглядит так:
javarush-project/
└── src/en/javarush/claude/course/level01/
├── task05/
│ ├── .claude/ # правила агента для task05
│ └── arkanoid.html # файл этой задачи
└── task09/
├── .claude/ # отдельные правила для task09
├── arkanoid.html
├── clicker.html
└── tictactoe.htmlТе самые кабинеты из аналогии выше, только теперь с номерами на дверях: task05 и task09. У каждого свои документы и свои правила, а javarush-project - это здание целиком. Позвать помощника в холл недостаточно, нужно назвать кабинет, где лежит текущая работа.
Соседняя задача не дополняет контекст текущей. Файлы task05 не нужны для решения task09, а правила из одной папки не заменяют правила другой. Поэтому для работы с JavaRush корнем проекта становится папка конкретной задачи, не общий javarush-project.
Решаете task09 - открывайте терминал в task09 и запускайте claude там. Общий корень курса для этого слишком широк.
Запускаем агента в папке задачи
Хорошая новость: длинный адрес руками печатать не придётся. IDEA может открыть терминал сразу в выбранной папке.
Ниже именно ручной способ. Да, Claude Code умеет сам переходить между директориями и запускать команды в нужной папке. Но разобраться один раз всё равно стоит: вы не зависите от подсказки агента и сразу видите границы текущей задачи.
- Найдите нужную
taskXXв дереве проекта. - Нажмите на папку задачи правой кнопкой мыши.
- Выберите
Open In-Terminal. - Проверьте текущую директорию командой
pwd. - Проверьте файлы командой
ls. - Убедитесь, что путь заканчивается нужной
taskXX, затем выполнитеclaude.

IDEA иногда показывает вложенные package-папки одной строкой с точками, например en.javarush.claude.course.level01. Не перепечатывайте эту строку как путь на диске. Проще открыть терминал через Open In - Terminal или скопировать настоящий путь через Copy Path/Reference.
Если терминал уже открыт в javarush-project, можно перейти вручную:
cd src/en/javarush/claude/course/level01/task09
pwd
ls
claudeНовая задача - новая рабочая директория
Перешли с task05 на task09? Открытая сессия агента сама за вкладкой IDEA не переедет. Завершите её командой /exit, откройте терминал в новой задаче, снова проверьте путь и запустите claude.
Не смешивайте разные задачи в одной сессии. В диалоге остаются прошлые файлы, решения и предположения, поэтому агент может перенести старый контекст в новую работу. Получится салат из двух задач, который потом трудно разобрать.
Почему контекст сессии так важен и как им управлять, разберём дальше по курсу. Пока держитесь простого правила: новая задача - новая сессия.
Можно держать несколько вкладок терминала, но у каждой должна быть понятная задача. На старте проще закрывать старую сессию перед переходом, чтобы не гадать, какой проект сейчас обслуживает агент.
Путь заканчивается на C:\, домашней папке или javarush-project вместо taskXX? Остановите сессию, перейдите в папку задачи и запустите агента заново. Сначала исправляем адрес, потом продолжаем работу.
Как это работает в связке с Claude Code
Соберём всё в одну картину. Терминал даёт Claude Code не только команду запуска, он ещё задаёт стартовую точку для структуры проекта, относительных путей и локальных инструкций. Текущая директория показывает, откуда начинается работа, а корень одного проекта даёт агенту связанный набор файлов без соседнего шума.
Дальше работают два следствия, о которых легко забыть в потоке. Открытая вкладка IDE не меняет директорию уже запущенной сессии, поэтому переход к другой задаче - это и новая директория, и отдельная сессия. А в javarush-project корень одного проекта лежит не сверху дерева, а на уровне конкретной taskXX.
На практике перед командой claude хватает трёх быстрых проверок:
- Посмотрите путь через
pwd. - Посмотрите файлы через
ls. - Убедитесь, что видите один нужный проект, и только потом запускайте агента.
И всё. Терминал здесь не усложняет работу, а делает невидимую настройку видимой: вы точно знаете, где находитесь и какой проект отдаёте агенту.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ