Kurs vibe coding z AI · Moduł 15: Claude Code CLI
Hooki, Headless i Pełny Workflow Vibecodingu
W tej lekcji6
Ostatnia skrzynia skarbów! Poznasz hooki, tryb headless do automatyzacji i złożysz wszystko w kompletny workflow vibecodingu z Claude Code. Po tym ćwiczeniu jesteś gotowym kapitanem AI.
Hooki (hooks) - automatyczne akcje
Hooki to komendy shell, które uruchamiają się automatycznie przy określonych zdarzeniach w Claude Code. To jak załoga, która sama reaguje na sygnały: gdy Claude coś zmieni, hook od razu robi swoje.
Zdarzenia, na które reagują hooki
Gdy Claude w nowej sesji użyje narzędzia, te zdarzenia następują w tej kolejności (PreToolUse i PostToolUse powtarzają się przy każdym użyciu narzędzia, a Stop po każdej odpowiedzi):
SessionStart- na początku sesjiPreToolUse- przed użyciem narzędzia przez ClaudePostToolUse- po użyciu narzędzia (np. po edycji pliku)Stop- gdy Claude kończy odpowiedź
Gdzie się je konfiguruje?
Hooki definiujesz w plikach ustawień, najczęściej w .claude/settings.json projektu (mogą też leżeć w ~/.claude/settings.json i .claude/settings.local.json). Przykład: uruchom prettier po każdym utworzeniu albo edycji pliku, żeby kod był zawsze sformatowany. Tak wygląda zawartość .claude/settings.json:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "npx prettier --write ."
}
]
}
]
}
}Hookiem możesz też blokować edycje chronionych ścieżek albo uruchamiać testy po zmianach. To Twój automatyczny pierwszy oficer, który pilnuje porządku na pokładzie.
Tryb headless i CI/CD
Tryb headless to Claude Code działający bez interaktywnej sesji - idealny do automatyzacji. Sercem jest flaga -p połączona z --output-format json:
# Headless: odpowiedź jako ustrukturyzowany JSON
claude -p "Wypisz wszystkie funkcje eksportowane z @src/utils.ts" \
--output-format jsonTaki wynik łatwo przetworzyć w skryptach i pipeline'ach. W połączeniu z gotową integracją GitHub Actions pozwala to budować w pełni automatyczne procesy - recenzje PR-ów, generowanie zmian, raporty.
Integracje z edytorami
Claude Code nie żyje tylko w terminalu:
- VS Code - oficjalne rozszerzenie
- JetBrains - oficjalne rozszerzenie
- Desktop i web - claude.ai/code
Dzięki temu możesz korzystać z mocy agentowego CLI bez opuszczania ulubionego środowiska.
Kompletny workflow vibecodingu z Claude Code
Połączmy teraz wszystko, czego nauczyłeś się w tym module, w jeden płynny proces:
Krok 1: Przygotuj projekt
Każdy rejs zaczyna się od mapy. Otwórz sesję claude w swoim projekcie i uruchom wbudowaną komendę, która przeczyta kod i sama napisze plik pamięci projektu:
# W sesji claude wygeneruj pamięć projektu
/initPowstaje CLAUDE.md, który Claude wczyta w każdej kolejnej sesji.
Krok 2: Opisz funkcję (tryb planowania dla dużych zmian)
Drobną poprawkę możesz zlecić od razu, ale przy większej funkcji zacznij od planu. Uruchom Claude w trybie planowania, w którym może badać projekt i myśleć, ale jeszcze nie edytuje plików:
claude --permission-mode plan "Dodaj system komentarzy do postów"Claude bada projekt i przedstawia plan. Akceptujesz go.
Krok 3: Claude implementuje
Claude sam czyta i edytuje pliki oraz uruchamia testy. Ty obserwujesz i podpowiadasz.
Krok 4: Recenzja i iteracja
Nigdy nie commituj na ślepo. Zanim zmiany trafią do historii, przekaż cały diff do Claude w trybie nieinteraktywnym i poproś o recenzję:
# Zrecenzuj wprowadzone zmiany
git diff | claude -p "Zrecenzuj te zmiany przed commitem"Poprawiasz, co trzeba, i powtarzasz cykl.
Krok 5: Wzmocnij projekt zaawansowanymi funkcjami
- Hooki - dodaj automatyczne formatowanie (prettier po każdej edycji)
- Subagenci - oddeleguj recenzję do
code-reviewer(.claude/agents/) - MCP - podłącz swoje narzędzia, np. GitHub czy Sentry (
/mcp) - Skille - zapakuj powtarzalne workflow w
/<nazwa-skilla>
Cała mapa Claude Code - ściąga
| Element | Jak użyć |
|---|---|
| Instalacja | curl -fsSL https://claude.ai/install.sh | bash albo npm install -g @anthropic-ai/claude-code |
| Start | claude (interaktywnie) lub claude -p "..." (skrypt) |
| Pliki | @plik w treści, lub cat plik | claude -p "..." |
| Model | /model lub --model sonnet |
| Pamięć | CLAUDE.md (generuj przez /init) |
| Planowanie | Shift+Tab, /plan lub --permission-mode plan |
| Subagenci | .claude/agents/<nazwa>.md |
| Skille | /<nazwa-skilla> |
| MCP | claude mcp add, komenda /mcp |
| Hooki | .claude/settings.json |
| Kontekst | /clear, /compact, /context, /usage |
Podsumowanie końcowe
Gratulacje! Ukończyłeś cały kurs Vibecoding i opanowałeś Claude Code!
W tym module nauczyłeś się PRAWDZIWEGO Claude Code:
Podstawy - instalacja, /login, tryb interaktywny vs -p, modele
Pliki i pipe - referencje przez @, łączenie komend (git diff | claude -p)
Slash commands - /help, /clear, /compact, /init, /code-review, /usage
CLAUDE.md - pamięć projektu generowana przez /init
Plan Mode - planowanie przed edycją (Shift+Tab, /plan, --permission-mode plan)
Subagenci - delegowanie zadań (.claude/agents/)
Skille i MCP - powtarzalne workflow oraz podłączanie narzędzi (/mcp)
Hooki - automatyczne akcje przy zdarzeniach (.claude/settings.json)
Headless/CI - claude -p --output-format json + GitHub Actions
Jesteś teraz gotowy, by budować profesjonalne aplikacje z agentowym AI w terminalu!
Płyń dalej i odkrywaj nowe lądy kodu!
Kod do tej lekcji: settings-hooks.json
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "npx prettier --write ."
}
]
}
]
}
}Widzisz błąd w tej lekcji?
Sprawdź się
Odpowiedz na pytania z tej lekcji. Wybierz odpowiedź, a od razu zobaczysz, czy jest poprawna.
1. Czym są hooki w Claude Code?
2. W którym pliku definiujesz hooki Claude Code?
Zadania praktyczne w grze
- Układanie w poziomie
Ułóż polecenie trybu headless zwracające odpowiedź jako JSON:
- Układanie w pionie
Uporządkuj zdarzenia hooków w kolejności, w jakiej zachodzą podczas używania narzędzia w sesji: