На перший погляд термінал виглядає суворо: темне вікно, курсор, що блимає, і жодних звичних кнопок. Насправді все прозаїчніше. Це прямий спосіб сказати комп'ютеру, що зробити: одна команда показує файли, друга переводить у потрібну папку, третя запускає програму.

Майже всі проблеми на початку роботи з агентом - не про формулювання запиту, а про те, що термінал стоїть не в тій папці. Тому спочатку розберемося з папками й шляхами, а до команди claude дійдемо вже потім. Наприкінці застосуємо все це до javarush-project, де кожна задача живе як окремий проєкт.

Термінал - прямий спосіб керувати проєктом

Термінал - це вікно, у якому ви керуєте комп'ютером текстовими командами. Замість пошуку потрібної кнопки в меню ви точно називаєте дію: покажи файли, відкрий папку, запусти програму.

Мишею швидше рівно до того моменту, коли дію доводиться повторити вдесяте. Ось що термінал дає натомість:

  • команда виконує одну конкретну дію - результат видно в тому самому вікні, гадати не треба;
  • послідовність легко повторити - перевірити папку, подивитися файли, перейти й запустити;
  • видно стан, який ховає інтерфейс, - насамперед поточну папку.

Вибирати щось одне не потрібно. В IDEA зручно знаходити файли очима й відкривати їх кліком, а в терміналі - виконувати точну команду й одразу бачити відповідь. На практиці обидва способи постійно працюють поруч.

Claude Code теж запускається командою

Коли ви вводите claude, агент починає роботу з поточної директорії термінала. Тому спочатку корисно зрозуміти, де стоїть термінал, і лише потім запускати агента.

Термінал і робоча папка: де запускати Claude Code - 1

П'ять команд для щоденної роботи

П'ять дій. На перший час цього справді вистачить. На Windows використовуємо PowerShell, а на macOS і Linux - стандартний термінал. Короткі команди в усіх трьох випадках виглядають однаково.

КомандаРозшифруванняЩо робить
pwdprint working directory - "показати робочу директорію"Друкує повний шлях до папки, у якій зараз перебуває термінал.
lslist - "список"Показує файли й папки в поточній директорії.
cd demo-projectchange directory - "змінити директорію"Переходить у сусідню папку demo-project.
cd .... означає батьківську директоріюПіднімає термінал на одну папку вище.
claudeІм'я програми, яку запускаємоЗапускає Claude Code з поточної директорії.

У PowerShell короткі команди - це просто зручні псевдоніми: pwd викликає Get-Location, ls - Get-ChildItem, а cd - Set-Location. Лякатися довгих назв не треба, запам'ятовувати їх зараз теж. Але за ними добре видно сенс команди.

А тепер короткий прогін для macOS або Linux. Спочатку термінал стоїть у папці projects, потім переходить у demo-project:

Термінал і робоча папка: де запускати Claude Code - 2

Дивіться на останню частину шляху: 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
WindowsC:\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 уміє сам переходити між директоріями й запускати команди в потрібній папці. Але розібратися один раз усе одно варто: ви не залежите від підказки агента й одразу бачите межі поточної задачі.

  1. Знайдіть потрібну taskXX у дереві проєкту.
  2. Натисніть на папку задачі правою кнопкою миші.
  3. Виберіть Open In - Terminal.
  4. Перевірте поточну директорію командою pwd.
  5. Перевірте файли командою ls.
  6. Переконайтеся, що шлях закінчується потрібною taskXX, потім виконайте claude.
Термінал і робоча папка: де запускати Claude Code - 3

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 вистачає трьох швидких перевірок:

  1. Подивіться шлях через pwd.
  2. Подивіться файли через ls.
  3. Переконайтеся, що бачите один потрібний проєкт, і лише потім запускайте агента.

І все. Термінал тут не ускладнює роботу, а робить невидиме налаштування видимим: ви точно знаєте, де перебуваєте і який проєкт віддаєте агенту.