Claude Code serija tutorijala 3: Zašto je pružen samo terminal?
1.3 Zašto pisati kod u terminalu?
Zamisli: pišeš novu funkcionalnost, i odjednom otkriješ da trebaš promijeniti jednu osnovnu pomoćnu funkciju koja je raštrkana u tri datoteke, a neki pozivi prelaze module. Otvoriš uređivač, globalno pretražiš, listajući datoteku po datoteku, pažljivo izmijeniš, pa pokreneš testove – crveno. Pogledaš grešku, provjeriš stog, popraviš, pa opet.
Tijekom ovog procesa, stvarno vrijeme provedeno u „razmišljanju kako promijeniti“ možda je manje od polovice. Druga polovica je mehanički rad: traženje datoteka, mijenjanje referenci, čekanje kompilacije, kliktanje mišem.
Stavljanje AI-ja u terminal ima primarni cilj komprimiranje tog mehaničkog rada.
Terminal je najbliže mjestu gdje je kod
Možda koristiš VS Code, JetBrains ili Vim. Bez obzira što koristiš, u procesu pisanja koda ne možeš zaobići terminal. Pokretanje npm test, git log, grep, make build – te operacije su prirodno u naredbenom retku.
Dakle, ako tvoj AI partner također sjedi u istom terminalu, stvari postaju jednostavnije. Ne trebaš kopirati-lijepiti sadržaj datoteka u prozor za chat, ne trebaš sam opisati „u mom projektu postoji klasa UserService, nalazi se u src/services/user.ts u retku 42...“ Claude Code stoji u korijenskom direktoriju projekta, on sam vidi.
To je kontekstualna prednost. Kad kažeš Claude Codeu „pomozi mi refaktorirati obradu grešaka u modulu za prijavu“, on stvarno čita tvoj auth/login.ts, čita errors.ts, pronalazi sva mjesta koja ga pozivaju, i direktno mijenja. Ne trebaš biti posrednik.
Oslobađanje od uloge „operatera“
Kada koristimo AI chat u pregledniku, često nesvjesno igramo ulogu „posrednika“: AI ispiše kod, mi ga čitamo, provjeravamo, kopiramo, pa se vratimo u uređivač i zalijepimo. Ako kod radi, super; ako ne, kopiramo grešku, pitamo opet, kopiramo ponovno. Taj proces zapravo prekida tok.
Dizajn Claude Codea je da te vrati na mjesto „mislitelja“. Ti kažeš ideju, on radi. Nakon promjene, vidiš diff direktno u terminalu i odlučuješ prihvatiti ili ne. Može ti i pokrenuti testove ili lint. Sjediš tamo, većinu vremena čitaš kod i donosiš odluke, umjesto da se stalno prebacuješ između prozora.
Zašto ne dodatak za uređivač?
Možda se pitaš: zašto jednostavno ne napraviti AI dodatak unutar uređivača?
Dodaci za uređivač su korisni, i mnogi timovi ih već koriste. Ali Claude Code u terminalu ima nekoliko stvari koje dodatci ne mogu lako zamijeniti:
-
Bez ograničenja uređivača. Danas koristiš VS Code, sutra pređeš na Neovim, čak i na udaljenom poslužitelju bez GUI-ja, Claude Code radi. Ne ovisi o alatu koji izabereš.
-
Može raditi „izvan okvira“ stvari. U terminalu može izvršavati bilo koju Shell naredbu. To znači da su granice onoga što može učiniti puno šire – može pokrenuti Docker spremnik za provjeru migracije baze podataka, povući udaljenu granu i provjeriti sukobe, nakon izmjene koda automatski pokrenuti e2e testove. Dodaci za uređivač obično se ne usuđuju to raditi, ili jednostavno ne mogu.
-
Skupna obrada i automatizacija. Možeš staviti Claude Code u skriptu i neka ti obradi desetke repozitorija, generira dokumentaciju u seriji, automatski obrađuje Issues. Tada on više nije „pomoćnik“, već dio proizvodne trake.
Mali primjer iz mog iskustva
Trebala mi je migracija JavaScript projekta na TypeScript, otprilike 20 tisuća linija koda. Nisam ručno dodavao tipove datoteku po datoteku, niti se oslanjao na dodatak za uređivač da sve odradi.
Pokrenuo sam Claude Code direktno u tom direktoriju projekta i rekao mu: „Postupno migriraj ovaj projekt na TypeScript strict mode, svaki put promijeni nekoliko datoteka, nakon svake grupe pokreni tsc --noEmit, ako ima grešaka, sam ih popravi dok sve ne prođe.“
Sljedećih pola sata, uglavnom sam radio samo jednu stvar: gledao diffove koje je napravio, kimao ili odmahivao glavom. Povremeno mu rekao „nemoj koristiti any za taj tip, definiraj interface“, i on je nastavio. Na kraju je projekt kompajliran prošao, nekoliko puta brže nego što sam očekivao.
To naravno ne znači da je Claude Code pametniji od dodataka. Ali može samostalno zatvoriti ciklus „izmjena-provjera-popravak“, što je najtemeljnija razlika između njega i chat AI-ja.
U konačnici, terminal daje AI-ju ruke i noge
Stavljanje AI-ja u terminal u biti mu daje mogućnost izvršavanja, a ne samo sugeriranja.
To čini tvoju bazu koda više nije samo skup tekstova koji se mogu čitati, već stvarno okruženje kojeg AI može „dotaknuti“, mijenjati i provjeravati. To je ogroman iskorak.
Ti i dalje držiš smjer projekta i sve ključne odluke, ali onaj dosadni, niskokreativni posao koji zahtijeva stalno preskakanje, ima boljeg izvođača.
评论
暂无已展示的评论。
发表评论(匿名)