İlk baxışda terminal sərt görünür: qaranlıq pəncərə, yanıb-sönən kursor və heç bir tanış düymə yoxdur. Əslində hər şey daha adidir. Bu, kompüterə nə etməli olduğunu birbaşa söyləmək üsuludur: bir əmr faylları göstərir, digəri lazımi qovluğa keçirir, üçüncüsü proqramı işə salır.

Agentlə işin əvvəlində ilişilən yerlərin demək olar ki, hamısı sorğunun necə ifadə olunmasından yox, terminalın səhv qovluqda olmasından yaranır. Ona görə əvvəlcə qovluqlar və yollarla məşğul olacağıq, claude əmrinə isə sonra keçəcəyik. Sonda bütün bunları hər tapşırığın ayrıca layihə kimi yaşadığı codegym-project layihəsinə tətbiq edəcəyik.

Terminal - layihəni idarə etməyin birbaşa yolu

Terminal kompüteri mətn əmrləri ilə idarə etdiyiniz pəncərədir. Menyuda lazımi düyməni axtarmaq əvəzinə, hərəkəti dəqiq adlandırırsınız: faylları göstər, qovluğu aç, proqramı işə sal.

Siçanla iş eyni hərəkəti onuncu dəfə təkrarlamalı olana qədər sürətlidir. Əvəzində terminal bunları verir:

  • əmr konkret bir iş görür - nəticə elə həmin pəncərədə görünür, təxmin etməyə ehtiyac yoxdur;
  • ardıcıllığı təkrarlamaq asandır - qovluğu yoxlamaq, fayllara baxmaq, keçid edib işə salmaq;
  • interfeysin gizlətdiyi vəziyyət görünür - hər şeydən əvvəl cari qovluq.

Birini seçmək məcburiyyətində deyilsiniz. IDEA-da faylları gözlə tapıb kliklə açmaq rahatdır, terminalda isə dəqiq əmri icra edib cavabı dərhal görmək. Praktikada hər iki üsul daim yan-yana işləyir.

Claude Code da əmrlə işə salınır

claude yazanda agent işə terminalın cari direktoriyasından başlayır. Ona görə əvvəlcə terminalın harada olduğunu anlamaq, agenti isə yalnız bundan sonra işə salmaq faydalıdır.

Gündəlik iş üçün beş əmr

Beş hərəkət. İlk vaxtlar bu, doğrudan da, kifayətdir. Windows-da PowerShell, macOS və Linux-da isə standart terminaldan istifadə edirik. Qısa əmrlər hər üç halda eyni görünür.

ƏmrTam adıNə edir
pwdprint working directory - "iş direktoriyasını göstər"Terminalın hazırda olduğu qovluğa gedən tam yolu çap edir.
lslist - "siyahı"Cari direktoriyadakı faylları və qovluqları göstərir.
cd demo-projectchange directory - "direktoriyanı dəyiş"Yanındakı demo-project qovluğuna keçir.
cd .... üst direktoriya deməkdirTerminalı bir qovluq yuxarı qaldırır.
claudeİşə salınan proqramın adıClaude Code-u cari direktoriyadan işə salır.

PowerShell-də qısa əmrlər sadəcə rahat təxəllüslərdir (alias): pwd Get-Location-u, ls Get-ChildItem-i, cd isə Set-Location-u çağırır. Uzun adlardan qorxmağa ehtiyac yoxdur, onları indi əzbərləmək də lazım deyil. Amma onlardan əmrin mənası yaxşı görünür.

İndi isə macOS və ya Linux üçün qısa bir nümunə. Əvvəlcə terminal projects qovluğundadır, sonra demo-project-ə keçir:

Yolun son hissəsinə baxın: projects demo-project ilə əvəz olundu. Heç bir sehr yoxdur. cd əmri yeni fayl açmadı və heç nəyi kopyalamadı, o, sadəcə terminalın olduğu yeri başqa qovluğa köçürdü.

Vaxta qənaət edən düymələr

Burada tez bir zamanda vaxta qənaət etməyə kömək edən bir-iki vərdiş var. Terminal daxil edilənlərin tarixçəsini saxlayır və uzun adları tamamlamağa kömək edir:

  • ↑ - əvvəlki əmri göstərir. Tarixçədə daha geriyə getmək üçün bir neçə dəfə basın;
  • ↓ - tarixçədə daha yeni əmrlərə qaytarır;
  • Tab - əmrin, faylın və ya qovluğun adını tamamlayır. Məsələn, cd dem yazıb Tab basın ki, cd demo-project alınsın;
  • ← və → - kursoru sətir daxilində hərəkət etdirir ki, bütün əmri yenidən yazmadan bir hərfi düzəldə biləsiniz;
  • Ctrl+C - səhv şeyi işə salmısınızsa və ya proses bitmirsə, adətən icra olunan əmri dayandırır;
  • Ctrl+L - terminalın görünən sahəsini təmizləyir, amma faylları və əmrlər tarixçəsini silmir.

Ən çox yuxarı ox və Tab lazım olacaq. Birincisi artıq daxil edilmiş əmri qaytarır, ikincisi uzun yollarda səhvlərin sayını azaldır.

Qovluq, direktoriya və yol

Yolu əmrə kopyaladınız, başqa qovluğa keçdiniz - və elə həmin əmr artıq işləmir. Məsələ hərf səhvində deyil: yollar iki cür olur və onlardan biri terminalın hazırda harada olmasından asılıdır. Hər ikisinə baxaq.

Əvvəlcə adlar haqqında, burada hər şey göründüyündən sadədir. Qovluq və direktoriya eyni şey deməkdir. İnterfeysdə daha çox "qovluq" deyirlər, terminal barədə söhbətdə isə "direktoriya".

Yol direktoriyanın diskdəki ünvanıdır. Windows, macOS və Linux-da ayırıcılar fərqli görünür, amma məntiq eynidir: yolun hər hissəsi daha dərinə aparır. Əvvəlcə disk və ya kök direktoriya, sonra istifadəçi, layihələrin ümumi qovluğu və nəhayət, konkret layihə.

Tam yol və mütləq yol eyni şeydir, sadəcə iki addır. Belə yol fayl sisteminin ən yuxarısından başlayır: Windows-da disk hərfindən, macOS və Linux-da isə / simvolundan. Terminalın hazırda hansı direktoriyada açıq olmasından asılı olmayaraq, o, həmişə eyni yerə aparır.

Nisbi yol isə əksinədir: o, cari direktoriyadan gedən yolu təsvir edir. Daha qısa alınır, çünki ünvanın başlanğıc hissəsini təkrarlamamaq olar. Amma başqa qovluğa keçsəniz, yolun mənası dəyişəcək.

Tutaq ki, layihənin içində belə bir fayl var:

demo-project/
└── src/
    └── index.html

Terminal demo-project-in kökündə açıqdır. Eyni index.html-ə çatmağın iki yolu budur:

SistemTam, yaxud mütləq yoldemo-project-dən nisbi yol
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

Nöqtə . "cari direktoriya" deməkdir. Ona görə .\src\index.html və ./src/index.html belə oxunur: "cari qovluqdan src-yə gir və index.html-i götür". Nöqtəni çox vaxt yazmırlar: src\index.html və src/index.html eyni şeyi bildirir.

demo-project-dən ümumi projects qovluğuna qalxsanız, əvvəlki nisbi yol artıq işləməyəcək. Yeni yerdən Windows-da .\demo-project\src\index.html, macOS və Linux-da isə ./demo-project/src/index.html lazım olacaq. Tam yol isə dəyişməyəcək.

Boşluqlu yolu qoşa dırnaq içinə alırlar, əks halda terminal boşluqdan sonra artıq başqa arqumentin başladığını düşünəcək:

cd "C:\Users\student\My Projects\demo-project"

Cari direktoriya niyə vacibdir

Terminal həmişə hansısa direktoriyada olur, hələ ilk əmrdən əvvəl də. Onu cari və ya iş direktoriyası adlandırırlar. Əmrlər faylları axtarmağa və nisbi yolları hesablamağa məhz ondan başlayır.

Siçanla siz artıq qovluq seçirsiniz

Faylı "Downloads"-dan "Documents" içindəki "Mühasibatlığın sirləri" qovluğuna kopyalamalısınız. Faylı kopyalayırsınız, lazımi qovluğa qədər bütün yolu keçirsiniz və yalnız orada "Yapışdır" düyməsini basırsınız. Fayl diskə konkret bir ünvana yazılır. Heç kim faylı "Documents-də haradasa" yapışdırmır - siz hər dəfə dəqiq yerə qədər gedirsiniz, sadəcə bunu siçanla edirsiniz və bu barədə fikirləşmirsiniz.

Terminalda iş eynidir, sadəcə fayl bələdçisi pəncərəsinin yerinə yol sətri var. Direktoriyanı yenə siz seçirsiniz, agent də işə məhz oradan başlayır.

Terminalı C:\ diskinin kökündə açmaq texniki cəhətdən mümkündür. Bu, yaxşı fikirdirmi? Xeyr. Və məsələ Claude Code-un diskdəki hər faylı oxumağa girişəcəyində deyil - girişməyəcək. Məsələ ondadır ki, siz pis başlanğıc nöqtəsi seçmisiniz:

  • agent üçün bir layihənin aydın sərhədi yoxdur - yanında sistem faylları, istifadəçi qovluqları və digər layihələriniz var;
  • nisbi yollar gözlədiyiniz yerdən başlamır - src birdən-birə artıq həmin src deyil;
  • yolun özündən hazırda hansı layihə ilə işlədiyinizi anlamaq olmur.

İlişmək asan olan daha bir xırda məqam var: IDEA-da açıq fayl və terminalın cari direktoriyası ayrı-ayrı vəziyyətlərdir. Siz bir layihənin faylına baxa bilərsiniz, terminal isə hələ də başqasında qalacaq. Redaktorda tabı dəyişmək artıq açıq olan terminalı köçürmür.

Başlanğıc nöqtəsi

Layihənin kökü bir layihənin bir-biri ilə bağlı fayllarının içində olduğu ən yuxarı qovluqdur: kod, tənzimləmələr, sənədlər və digər lazımi materiallar. Formal tərifi əzbərləmək məcburi deyil. Rola baxmaq daha asandır: bu qovluq bir layihəni bütövlükdə bir yerə toplayır.

Məsələn, ümumi projects qovluğu bir neçə müstəqil layihəni saxlaya bilər:

projects/
├── demo-project/
│   ├── README.md
│   └── src/
└── calculator/
    ├── README.md
    └── src/

Bu ağacda projects konteynerdir. Birinci layihənin kökü demo-project-də, ikincininki isə calculator-dadır. Agenti ümumi qovluqdan işə salmaq texniki cəhətdən mümkündür, amma orada faydalı kontekst azdır: yan-yana bir-biri ilə əlaqəsi olmayan iki layihə durur.

Praktikada qayda qısadır: məhz dəyişmək istədiyiniz layihənin ən yuxarı qovluğunu tapın, terminalı orada açın və alətləri oradan işə salın. Onda əmrlər, fayllar və layihə təlimatları aydın bir sahədə toplanır.

Həddən artıq geniş qovluq tapşırığın sərhədlərini bulandırır

Agent konteksti anlamaq üçün tapşırığın ətrafındakı strukturu və faylları öyrənir. Onu həddən artıq yuxarıda işə salsanız, yanında digər layihələr də olacaq. Sorğu qeyri-dəqiq olanda agent onların da tapşırıqla bağlı olduğu qənaətinə gələ və iş gedişində dəyişdirilməsi istənilməyən şeyləri dəyişə bilər.

İş qızğın gedəndə gözlənilən nəticəni görüb qonşu layihədəki əlavə düzəlişləri gözdən qaçırmaq asandır. Ona görə düzgün iş direktoriyası formallıq deyil, agent üçün aydın sərhəddir.

codegym-project necə qurulub

İndi isə CodeGym ilə bağlı həmin hala keçək. IDEA plagini tapşırıqları bir böyük codegym-project ağacına yükləyir. Kənardan o, bir layihə kimi görünür, amma içində vacib bir məqam var: hər tapşırıq ayrıca layihədir.

Ümumi yığında bir fayl yox, öz layihəsi: öz qovluğu, öz faylları və .claude-da agent üçün öz qaydaları ilə. Neçə tapşırıq varsa, o qədər də layihə. hərfi mənada.

Sadələşdirilmiş şəkildə ağac belə görünür:

codegym-project/
└── src/az/codegym/claude/course/level01/
    ├── task05/
    │   ├── .claude/          # task05 üçün agent qaydaları
    │   └── arkanoid.html     # bu tapşırığın faylı
    └── task09/
        ├── .claude/          # task09 üçün ayrıca qaydalar
        ├── arkanoid.html
        ├── clicker.html
        └── tictactoe.html

Bunlar yuxarıdakı bənzətmədəki həmin otaqlardır, sadəcə indi qapılarında nömrə var: task05 və task09. Hər birinin öz sənədləri və öz qaydaları var, codegym-project isə bütöv binadır. Köməkçini foyeyə çağırmaq kifayət deyil, cari işin olduğu otağı adlandırmaq lazımdır.

Qonşu tapşırıq cari tapşırığın kontekstini tamamlamır. task05-in faylları task09-u həll etmək üçün lazım deyil, bir qovluğun qaydaları da digərininkini əvəz etmir. Ona görə CodeGym ilə işləyəndə layihənin kökü ümumi codegym-project yox, konkret tapşırığın qovluğu olur.

Bir tapşırıq - bir işə salma

task09-u həll edirsiniz? Terminalı task09-da açın və claude-u orada işə salın. Kursun ümumi kökü bunun üçün həddən artıq genişdir.

Agenti tapşırığın qovluğunda işə salırıq

Yaxşı xəbər: uzun ünvanı əl ilə yazmalı olmayacaqsınız. IDEA terminalı birbaşa seçilmiş qovluqda aça bilir.

Aşağıda məhz əl ilə edilən üsuldur. Bəli, Claude Code özü direktoriyalar arasında keçə və əmrləri lazımi qovluqda işə sala bilir. Amma bunu bir dəfə başa düşmək yenə də dəyər: agentin göstərişlərindən asılı olmursunuz və cari tapşırığın sərhədlərini dərhal görürsünüz.

  1. Layihə ağacında lazımi taskXX-i tapın.
  2. Tapşırığın qovluğuna siçanın sağ düyməsi ilə basın.
  3. Open In - Terminal seçin.
  4. Cari direktoriyanı pwd əmri ilə yoxlayın.
  5. Faylları ls əmri ilə yoxlayın.
  6. Yolun lazımi taskXX ilə bitdiyinə əmin olun, sonra claude əmrini icra edin.

IDEA bəzən iç-içə package qovluqlarını nöqtəli bir sətir kimi göstərir, məsələn, az.codegym.claude.course.level01. Bu sətri diskdəki yol kimi yenidən yazmayın. Terminalı Open In - Terminal ilə açmaq və ya əsl yolu Copy Path/Reference ilə kopyalamaq daha asandır.

Terminal artıq codegym-project-də açıqdırsa, əl ilə keçmək olar:

cd src/az/codegym/claude/course/level01/task09
pwd
ls
claude

Yeni tapşırıq - yeni iş direktoriyası

task05-dən task09-a keçdiniz? Açıq agent sessiyası IDEA tabının ardınca özü köçməyəcək. Onu /exit əmri ilə bitirin, terminalı yeni tapşırıqda açın, yolu yenidən yoxlayın və claude-u işə salın.

Bir sessiya - bir tapşırıq

Müxtəlif tapşırıqları bir sessiyada qarışdırmayın. Dialoqda əvvəlki fayllar, qərarlar və fərziyyələr qalır, ona görə agent köhnə konteksti yeni işə keçirə bilər. Nəticədə iki tapşırıqdan ibarət bir qarmaqarışıqlıq alınacaq ki, sonra onu sahmana salmaq çətin olacaq.

Sessiya kontekstinin niyə bu qədər vacib olduğunu və onu necə idarə etməyi kursun sonrakı hissələrində araşdıracağıq. Hələlik sadə qaydaya əməl edin: yeni tapşırıq - yeni sessiya.

Terminalın bir neçə tabını açıq saxlamaq olar, amma hər birinin aydın tapşırığı olmalıdır. Başlanğıcda keçiddən əvvəl köhnə sessiyanı bağlamaq daha asandır ki, agentin hazırda hansı layihəyə xidmət etdiyini təxmin etməli olmayasınız.

Agent həddən artıq yuxarıda işə salınıbsa

Yol C:\, ev qovluğu və ya codegym-project ilə bitir, taskXX ilə yox? Sessiyanı dayandırın, tapşırığın qovluğuna keçin və agenti yenidən işə salın. Əvvəlcə ünvanı düzəldirik, sonra işə davam edirik.

Claude Code ilə birlikdə bu necə işləyir

Hamısını bir mənzərədə toplayaq. Terminal Claude Code-a təkcə işə salma əmrini vermir, o, həm də layihənin strukturu, nisbi yollar və lokal təlimatlar üçün başlanğıc nöqtəsini müəyyən edir. Cari direktoriya işin haradan başladığını göstərir, bir layihənin kökü isə agentə qonşu səs-küy olmadan bir-biri ilə bağlı fayllar toplusu verir.

Buradan iki nəticə çıxır və iş qızğın gedəndə onları unutmaq asandır. IDE-də açıq tab artıq işləyən sessiyanın direktoriyasını dəyişmir, ona görə başqa tapşırığa keçid həm yeni direktoriya, həm də ayrıca sessiya deməkdir. codegym-project-də isə bir layihənin kökü ağacın yuxarısında yox, konkret taskXX səviyyəsindədir.

Praktikada claude əmrindən əvvəl üç sürətli yoxlama kifayətdir:

  1. Yola pwd ilə baxın.
  2. Fayllara ls ilə baxın.
  3. Yalnız lazımi layihəni gördüyünüzə əmin olun və yalnız bundan sonra agenti işə salın.

Vəssalam. Terminal burada işi çətinləşdirmir, əksinə, görünməyən tənzimləməni görünən edir: harada olduğunuzu və agentə hansı layihəni verdiyinizi dəqiq bilirsiniz.