Witaj na pokładzie ostatniego modułu, @name! Kapitan Redbeard zostawił na sam koniec najpotężniejszy kompas całej floty: Claude Code - oficjalne narzędzie CLI od Anthropic, które zamienia zwykły terminal w agentowego członka załogi.
Claude Code to agentowe narzędzie wiersza poleceń (CLI - Command Line Interface) od Anthropic. To nie jest kolejne okienko czatu - Claude Code samodzielnie czyta i edytuje pliki w Twoim projekcie, uruchamia komendy w terminalu i prowadzi złożone zadania na wielu plikach naraz.
Warto powiedzieć to wprost, bo poradniki potrafią tu namieszać: Claude Code nie jest wtyczką do przeglądarki Chrome, nie jest biblioteką frontendową do budowy interfejsów i tym bardziej nie jest systemem operacyjnym dla serwerów. To program, który uruchamiasz z wiersza poleceń i który pracuje na Twoim prawdziwym kodzie.
Różnica jest taka jak między mapą skarbów a żywym nawigatorem, który sam staje za sterem i prowadzi statek tam, gdzie trzeba.
Obie załogi pływają po tym samym morzu AI, ale każda steruje inaczej:
Cursor:
Claude Code:
Całą różnicę da się zamknąć w jednym zdaniu: Claude Code to narzędzie CLI działające w terminalu, a Cursor to edytor kodu oparty na AI z graficznym interfejsem (GUI). To nie są dwie nazwy tego samego narzędzia i Claude Code wcale nie zastępuje Cursora. Te dwa narzędzia się uzupełniają - możesz używać OBU naraz!
node --version)Claude Code jest paczką npm, więc jedna komenda wystarczy, żeby wciągnąć go na pokład. Nazwę paczki czytaj uważnie: siedzi w przestrzeni nazw Anthropic i brzmi
@anthropic-ai/claude-code, nigdy samo claude ani claude-code. To paczka Node'a, więc instaluje ją npm - ani npm install claude, ani yarn add claude-code, ani pip install claude (pip pływa po zupełnie innym oceanie) nie przyniosą Ci niczego na pokład. Kolejność członów też ma znaczenie: najpierw npm, potem install, potem -g, a na samym końcu @anthropic-ai/claude-code:1# Instalacja przez npm (metoda zalecana)
2npm install -g @anthropic-ai/claude-code
3
4# Nastepnie uruchom Claude Code w katalogu swojego projektu
5claudeFlaga
-g to właśnie ta, która czyni instalację globalną: komenda claude staje się dostępna w każdym katalogu, nie tylko w tym jednym. Od tej chwili wywołujesz swojego pierwszego oficera jednym słowem, w dowolnym projekcie, nad którym akurat pracujesz. Możesz też uruchomić Claude Code bez instalowania czegokolwiek na stałe - przez npx. Tutaj kolejność jest jeszcze prostsza: najpierw npx, a zaraz po nim pełna nazwa paczki:1npx @anthropic-ai/claude-codenpx pobiera i uruchamia najnowszą wersję na żądanie, na czas jednego rejsu. To wygodne, kiedy testujesz narzędzie na pożyczonej maszynie albo na maszynie CI, gdzie nie chcesz zostawiać po sobie globalnej instalacji. Wadą jest czas: przy każdym uruchomieniu paczka schodzi z sieci od nowa, więc do codziennej pracy i tak wybierzesz instalację globalną. Kiedy wszystko wejdzie na pokład,
claude --version potwierdzi, że narzędzie jest gotowe do wypłynięcia.Przy pierwszym uruchomieniu Claude Code poprosi Cię o zalogowanie. Wszystkie komendy w sesji budujesz tak samo: wpisujesz ukośnik
/, a zaraz po nim nazwę - / plus help daje pomoc, / plus login otwiera logowanie:1/loginW przeglądarce otworzy się logowanie przez OAuth: uwierzytelniasz się subskrypcją Claude Pro/Max albo kontem Anthropic Console zasilonym kredytami API. I na tym koniec -
/login nie tworzy żadnego konta GitHub, nie wylogowuje Cię z systemu operacyjnego i nie instaluje brakujących zależności npm. Loguje Cię do Claude, nic ponadto. Jeśli wolisz uwierzytelniać się kluczem API, klucz trafia do zmiennej środowiskowej ANTHROPIC_API_KEY albo do pliku .env w projekcie:1# Linux/Mac - dodaj te linie do ~/.bashrc lub ~/.zshrc
2export ANTHROPIC_API_KEY="sk-ant-..."Klucza nie wkleja się do
package.json ani do commitowanego config.json - takie pliki płyną prosto do repozytorium, a wyciekły klucz to wyciekła skrzynia skarbów. Nie łudź się też, że dostęp obejdzie się zupełnie bez poświadczeń: albo logujesz się subskrypcją przez /login, albo podajesz klucz w zmiennej środowiskowej. Po dopisaniu tej linii przeładuj shella - od tej pory klucz wczyta się sam przy każdej sesji.Instalacja gotowa, papiery podpisane - czas wezwać pierwszego oficera naprawdę. Masz dwie drogi: otworzyć pustą sesję i dopiero potem zacząć rozmowę albo od razu wypłynąć z pierwszym poleceniem na pokładzie:
1# Uruchom interaktywna sesje (REPL) w terminalu
2claude
3
4# Albo od razu z pierwszym poleceniem
5claude "Wyjasnij, czym jest TypeScript"Obie linie startują Claude Code w bieżącym katalogu, a ten katalog staje się projektem, który Claude widzi i po którym się porusza. Druga forma oszczędza Ci jeden krok, bo pierwsze pytanie przekazujesz od razu, bez czekania na znak zachęty. Te dwie linijki to esencja całego narzędzia - wszystko, czego nauczysz się dalej, dobudowuje się wokół nich.
Claude Code działa na rodzinie modeli Claude, a każdy z nich nadaje się na inny rejs:
Do zmiany modelu prowadzą dokładnie dwie drogi: komenda
w sesji albo flaga /model
przy starcie. Nie ma żadnej komendy --model
/temperature ani suwaka temperatury do podkręcania, nie ma też najmniejszego sensu grzebać w node_modules - to wybór modelu jest tutaj pokrętłem, którym kręcisz. Przy starcie kolejność członów wygląda tak: claude, potem --model, potem krótka nazwa modelu:1# Uruchom Claude z modelem Sonnet
2claude --model sonnetKrótka nazwa w zupełności wystarczy -
sonnet, opus albo haiku. Wybór nie jest wyryty w kamieniu: w trakcie pracy przestawiasz go komendą /model, więc typowy rejs wygląda tak, że zaczynasz na Sonnecie, przy trudnym refaktorze wzywasz Opusa, a proste pytania odbijasz Haiku, żeby nie palić czasu ani budżetu. Model to jedyne pokrętło, jakim tutaj sterujesz, i dlatego warto znać oba sposoby jego przestawiania.Claude Code ma dwa główne tryby: tryb interaktywny (interactive mode), czyli samo
, oraz tryb jednorazowy (one-shot mode), czyli claude
, gdzie polecenie podajesz od razu w wierszu poleceń. Trybu graficznego tu nie znajdziesz - nie ma czegoś takiego jak "GUI mode", bo graficzny pokład to terytorium Cursora.claude "pytanie"
To tryb domyślny: prawdziwa rozmowa w terminalu, w której Claude pamięta wszystko, co dotąd padło.
1# Rozpocznij sesje w terminalu
2claude
3
4# Z poczatkowym poleceniem
5claude "Pomoz mi zbudowac formularz logowania"W takiej sesji Claude trzyma kontekst całej rozmowy, więc doprecyzowujesz polecenie krok po kroku - "teraz dodaj walidację", "teraz napisz testy" - i nie musisz za każdym razem tłumaczyć wszystkiego od nowa. To jak praca z członkiem załogi, który zna już plan statku, a nie z przypadkowym gościem z portu. Dopóki sesja jest otwarta, budujesz na tym, co zostało powiedziane wcześniej.
Flaga
-p (albo jej pełna nazwa --print) sprawia, że Claude wypisuje odpowiedź i kończy działanie - idealne do skryptów i pipe'ów. Litera "p" pochodzi od wypisywania na terminal, a nie od fizycznej drukarki, i po drodze nic nie znika: ta flaga nie włącza żadnego trybu graficznego i na pewno nie usuwa trwale historii rozmów. Kolejność jest zawsze ta sama - claude, potem -p, a na końcu polecenie w cudzysłowie:1# Zadaj pytanie, dostan odpowiedz, koniec
2claude -p "Wyjasnij, czym sa React hooks"
3
4# To samo, pelna nazwa flagi
5claude --print "Podsumuj zasady dzialania useEffect"Skoro proces kończy się z chwilą wypisania odpowiedzi, takie polecenia wkładasz do skryptu shellowego, do Makefile'a albo do pipeline'u CI i traktujesz Claude'a jak każde inne narzędzie wiersza poleceń. To właśnie ta flaga zamienia rozmowę w automat: bez niej Claude czekałby na kolejne pytanie, a skrypt stałby w miejscu, wpatrzony w migający kursor.
Zamknięta sesja nie przepada - Claude Code zapisuje historię automatycznie, osobno dla każdego katalogu. Nie musisz o nic dbać ręcznie: nie ma flagi
--save, którą trzeba by cokolwiek zapisywać, ani --restore-all, którą coś by się odzyskiwało. Te flagi po prostu nie istnieją. Do rozmowy wracasz dwiema krótkimi flagami:1# Kontynuuj ostatnia rozmowe w tym katalogu
2claude -c
3
4# Wybierz wczesniejsza rozmowe do wznowienia
5claude -rOstatnią rozmowę w bieżącym katalogu wznawiasz komendą
- sięgasz po nią, gdy zamknąłeś terminal w połowie zadania i chcesz podjąć wątek dokładnie tam, gdzie go zostawiłeś. Flaga claude -c
-r działa inaczej: pokazuje listę wcześniejszych sesji, z której wybierasz tę właściwą. Jedna wraca do najświeższej rozmowy bez pytania, druga daje Ci wybór spośród wszystkich.Jest prawda, którą warto wytatuować sobie na przedramieniu, @name: w Claude Code nie ma osobnej flagi do dołączania plików. Plik wskazujesz w treści samego polecenia - wpisujesz
przed ścieżką, na przykład @
- a Claude odczyta go sam. Flaga @src/auth.ts
--file src/auth.ts nie istnieje, zawartości pliku nie wkleja się do package.json, i nie jest prawdą, że Claude nie potrafi czytać Twoich plików. Potrafi, i to jest jego największa siła. Kolejność członów: claude, -p, a potem polecenie, w którym siedzi referencja:1# Claude odczyta plik src/auth.ts i zrobi jego recenzje
2claude -p "Zrecenzuj @src/auth.ts"
3
4# Mozesz wskazac kilka plikow naraz
5claude -p "Porownaj @src/old-api.ts i @src/new-api.ts"Znak
@ siedzi po prostu wewnątrz zdania, które piszesz - jest częścią polecenia, a nie osobnym argumentem. Claude potrafi też sam przeszukiwać i czytać pliki w projekcie za pomocą swoich narzędzi, więc rzadko musisz wyliczać wszystko ręcznie: nazwij te pliki, które są kluczowe, a resztę pozwól mu znaleźć. Zasięg ma jednak ograniczony do katalogu, w którym go uruchomiłeś. Żeby dorzucić mu katalog spoza projektu, sięgasz po flagę --add-dir, a kolejność członów to claude, --add-dir, ścieżka katalogu i dopiero na końcu polecenie w cudzysłowie:1claude --add-dir ../shared-library "Przejrzyj wspolny kod"Od tej chwili wspólna biblioteka jest częścią mapy: Claude może czytać i edytować także tamtejsze pliki. Dokładnie tego potrzebujesz w monorepo albo wtedy, gdy dwa projekty dzielą jedną paczkę. Bez tej flagi Claude nawet nie wie, że taki katalog istnieje, więc zamiast czytać kod - zgaduje, a zgadywanie kończy się poprawkami, których nikt nie zamawiał.
Skoro Claude Code mieszka w terminalu, łączy się z każdą inną komendą przez potok (
|): wyjście jednego programu staje się wejściem Claude'a. Takie polecenie składasz z czterech członów - najpierw cat, potem nazwa pliku, potem pionowa kreska |, a na końcu claude -p z treścią polecenia:1# Przekaz zawartosc pliku do recenzji
2cat code.ts | claude -p "Zrob review tego kodu"
3
4# Przekaz diff Git do podsumowania
5git diff | claude -p "Podsumuj te zmiany"To właśnie zastępuje fałszywą flagę, która straszy w starych poradnikach: zamiast nieistniejącego
claude --file X "Y" piszesz cat X | claude -p "Y" albo claude -p "Y @X". Ten sam mechanizm napędza automatyczną recenzję kodu. Mały skrypt code-review.sh, podpięty jako hook pre-commit, wysyła staged files do Claude'a poleceniem git diff --cached | claude -p "...", a Claude raportuje bugs, security issues i best practices violations, zanim commit w ogóle opuści pokład. Za chwilę napiszesz taki skrypt własnoręcznie - to Twój czujny bosman na wachcie.Garść flag załatwia niemal wszystko, co robisz z wiersza poleceń, i najlepiej nauczyć się ich w komplecie:
1# Wybierz model
2claude --model sonnet
3
4# Dodaj katalog do kontekstu
5claude --add-dir ./packages
6
7# Steruj sposobem przyznawania uprawnien
8claude --permission-mode plan
9
10# Ogranicz narzedzia, ktorych Claude moze uzyc
11claude --allowedTools "Read,Edit"
12
13# Zmien format wyjscia (swietne do skryptow i CI)
14claude -p "zrecenzuj @src/app.ts" --output-format jsonTe są prawdziwe. Uważaj natomiast na krakena zmyślonych flag: poradniki w sieci beztrosko pokazują flagę "file", flagę "temperature", "max-tokens" albo "output" - żadna z nich nie istnieje. Jeśli poradnik płynie według takiej mapy, wsadzi Cię na mieliznę. Zapamiętaj prostą zasadę: pliki wskazujesz przez
@ albo potokiem, model wybierasz przez --model, a wszystko, co brzmi jak pokrętło z panelu API, w Claude Code po prostu nie występuje.Kiedy jesteś już w sesji interaktywnej (
claude), sterujesz slash commands - komendami zaczynającymi się od /. Wpisujesz ukośnik, a zaraz po nim nazwę: / plus help daje /help, czyli listę dostępnych komend i pomoc - bramę do wszystkich pozostałych. Oto te prawdziwe:/help - lista dostępnych komend i pomoc/clear - wyczyść kontekst i zacznij od nowa/compact - streść dotychczasową rozmowę i kontynuuj (oszczędza kontekst)/init - wygeneruj plik CLAUDE.md dla projektu/model - zmień model Claude/config - ustawienia/login - zaloguj się/cost - pokaż zużycie tokenów i koszt sesji/review - recenzja Pull Requesta/agents - zarządzaj subagentami/mcp - zarządzaj serwerami MCP/memory - edytuj plik CLAUDE.mdTwoje własne skille też się tutaj pojawiają, jako
/<nazwa-skilla> - skill o nazwie deploy uruchomisz komendą /deploy.Uwaga: komendy
,/filei/savenie istnieją w Claude Code. Stare poradniki opisywały workflow w czterech krokach - uruchom/context, dołącz plik przezclaude, poproś o recenzję, a wynik zapisz przez/file code.ts- ale wszystkie trzy komendy zostały zmyślone. Dziś pliki wskazujesz przez/save review.md, a kontekstem zarządzasz przez@i/clear./compact
CLAUDE.md to plik markdown w katalogu głównym projektu, w którym spisujesz swoje konwencje, architekturę i komendy, których załoga używa na co dzień. Claude Code wczytuje go automatycznie w każdej sesji, dzięki czemu Twój pierwszy oficer zna statek już od pierwszej wiadomości i nie dopytuje w kółko o to samo. Nie musisz nawet pisać go ręcznie:1# Wygeneruj CLAUDE.md automatycznie
2# (wpisz te komende wewnatrz sesji claude)
3/initKomenda
/init przegląda projekt i pisze szkic pliku, który potem poprawiasz i uzupełniasz o zasady znane tylko Tobie. Możesz też trzymać globalny ~/.claude/CLAUDE.md, obowiązujący we wszystkich projektach, oraz zagnieżdżone pliki CLAUDE.md w podkatalogach - dla reguł dotyczących tylko jednej części kodu. To pierwsza rzecz, jaką dokłada się do projektu przed poważną pracą z Claude Code, a osobna lekcja tego modułu pokaże Ci, jak napisać naprawdę dobry CLAUDE.md.Claude Code - agentowe CLI od Anthropic (czyta i edytuje pliki, uruchamia komendy) Instalacja -
npm install -g @anthropic-ai/claude-code, potem claude
Logowanie - /login (Claude Pro/Max albo Console) lub zmienna ANTHROPIC_API_KEY
Tryby - interaktywny (claude) kontra jednorazowy i nieinteraktywny (claude -p "...")
Pliki - wskazuj przez @plik, łącz przez pipe (cat plik | claude -p "...")
Slash commands - /help, /clear, /compact, /init, /model, /review
CLAUDE.md - pamięć projektu generowana komendą /initOtwórz edytor poniżej i prześledź przykładowe komendy - każda z nich to prawdziwa forma, której właśnie się nauczyłeś. W następnym ćwiczeniu wypłyniesz z praktycznym workflow prawdziwego Claude Code!
Do zobaczenia na pokładzie, marynarzu!