Używamy cookies, żeby zwiększyć Twoje doświadczenia na stronie
CodeWorlds

Poznaj Claude Code - Twój AI w terminalu

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.

Czym jest Claude Code?

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.

Claude Code vs Cursor

Obie załogi pływają po tym samym morzu AI, ale każda steruje inaczej:

Cursor:

  • Edytor kodu oparty na AI (AI-powered editor), zbudowany jako fork VS Code
  • Graficzny interfejs (GUI)
  • Inline edits, autouzupełnianie klawiszem Tab, tryb Agent/Composer, wzmianki przez @
  • Świetny do pisania kodu "na żywo", prosto w edytorze

Claude Code:

  • Agentowe narzędzie wiersza poleceń (CLI) i SDK
  • Działa w terminalu
  • Świetny do autonomicznych zmian na wielu plikach, automatyzacji, CI/CD i łączenia z innymi komendami shella
  • Współpracuje z dowolnym edytorem (plus rozszerzenia do VS Code i JetBrains)

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!

Instalacja Claude Code

Wymagania

  • Node.js w wersji 20.x lub nowszej (wersję sprawdzisz komendą
    node --version
    )
  • npm
  • Subskrypcja Claude (Pro/Max) albo konto Anthropic Console z kredytami API

Instalacja globalna

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
5claude

Flaga

-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-code

npx 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.

Logowanie

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/login

W 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.

Pierwszy rejs

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.

Modele Claude

Claude Code działa na rodzinie modeli Claude, a każdy z nich nadaje się na inny rejs:

  • claude-opus-4-8 - najpotężniejszy, do najtrudniejszych zadań
  • claude-sonnet-4-6 - zbalansowany, model domyślny
  • claude-haiku-4-5 - najszybszy, do prostych zapytań

Do zmiany modelu prowadzą dokładnie dwie drogi: komenda

/model
w sesji albo flaga
--model
przy starcie
. Nie ma żadnej komendy
/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 sonnet

Kró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.

Tryby uruchamiania

Claude Code ma dwa główne tryby: tryb interaktywny (interactive mode), czyli samo

claude
, oraz tryb jednorazowy (one-shot mode), czyli
claude "pytanie"
, 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.

Tryb interaktywny (REPL)

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.

Tryb nieinteraktywny (-p / --print)

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.

Kontynuowanie rozmów

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 -r

Ostatnią rozmowę w bieżącym katalogu wznawiasz komendą

claude -c
- 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
-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.

Praca z plikami - referencja przez @

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
@src/auth.ts
- a Claude odczyta go sam. Flaga
--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ł.

Przekazywanie danych przez pipe

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.

Pas narzędziowy kapitana - prawdziwe flagi

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 json

Te 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.

Slash commands - komendy w sesji

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.md

Twoje własne skille też się tutaj pojawiają, jako

/<nazwa-skilla>
- skill o nazwie
deploy
uruchomisz komendą
/deploy
.

Uwaga: komendy

/file
,
/save
i
/context
nie istnieją w Claude Code. Stare poradniki opisywały workflow w czterech krokach - uruchom
claude
, dołącz plik przez
/file code.ts
, poproś o recenzję, a wynik zapisz przez
/save review.md
- ale wszystkie trzy komendy zostały zmyślone. Dziś pliki wskazujesz przez
@
, a kontekstem zarządzasz przez
/clear
i
/compact
.

Plik CLAUDE.md - pamięć projektu

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/init

Komenda

/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.

Podsumowanie

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ą
/init

Otwó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!

Przejdź do CodeWorlds