Większość developerów uruchamia Claude Code, wpisuje prompt i czeka na efekty. Niewielu wie, że to, co agent zrobi z ich projektem, zależy od kilku plików w katalogu .claude/ – który przez pierwsze tygodnie pracy z narzędziem prawdopodobnie w ogóle nie istniał w ich repozytorium. Folder .claude/ to centralne miejsce konfiguracji Claude Code: agent skanuje go przy każdym uruchomieniu i na tej podstawie decyduje, jak się zachować, jakich reguł przestrzegać i jakie narzędzia ma do dyspozycji.
Claude Code pojawił się w maju 2024 roku jako narzędzie CLI od Anthropic. Od tamtej pory architektura folderu .claude/ rozrosła się do ośmiu komponentów. Każdy rozwiązuje inny problem. Poniżej znajdziesz dokładnie to, co robi każdy z nich – i dlaczego ta wiedza zmienia sposób pracy z agentem.
Czym jest folder .claude/ i dlaczego agent sprawdza go jako pierwsze
Folder .claude/ to katalog w rootcie projektu, który Claude Code traktuje jako swoją „instrukcję obsługi” konkretnego repozytorium. Nie jest to folder globalny – każdy projekt może mieć własne reguły, własne narzędzia i własnych subagentów. Agent skanuje ten katalog zanim zrobi cokolwiek innego.
Wyobraź sobie, że pracujesz jednocześnie nad API w Pythonie i frontendem w Next.js. Bez .claude/ agent nie wie nic o twoich konwencjach, preferowanym stylu testów ani o tym, że nigdy nie commituje się bezpośrednio do maina. Z .claude/ – wie to wszystko zanim napiszesz pierwsze słowo promptu.
Pełna struktura wygląda następująco:
- CLAUDE.md – główny plik reguł projektu, ładuje się przy każdym wywołaniu
- CLAUDE.local.md – prywatne nadpisania każdego developera, gitignored
- hooks/ – skrypty odpalane deterministycznie przy określonych zdarzeniach
- skills/ – konteksty domenowe ładowane na żądanie, nie przy starcie
- agents/ – subagenci z izolowanymi oknami kontekstu
- commands/ – slash commands (/ship, /review i inne)
- rules/ – reguły ładowane tylko dla konkretnych ścieżek plików (glob)
- output-styles/ – formatowanie odpowiedzi agenta
- plugins/ – nowość 2026: bundel komend, agentów i MCP w jednym pakiecie
Jeden szczegół, który często umyka: plik .mcp.json musi leżeć w rootcie projektu, nie wewnątrz .claude/. To jeden z najczęstszych błędów przy pierwszej konfiguracji. MCP definiuje serwery dostępne dla agenta – połączenia z bazą danych, zewnętrznym API, wewnętrznymi narzędziami firmy.

CLAUDE.md: plik reguł, który działa prawie zawsze
CLAUDE.md to główny plik instrukcji dla agenta. Trafia do kontekstu przy każdym wywołaniu – co oznacza, że każda zapisana tu reguła kosztuje tokeny, niezależnie od tego czy jest w danej chwili potrzebna. Limit 200 linii to nieoficjalna, ale sprawdzona zasada. Przekroczenie tego progu nie psuje niczego technicznie, ale przy intensywnym użytkowaniu szybko odbija się na kosztach i prędkości działania agenta.
Doświadczeni użytkownicy trzymają w CLAUDE.md tylko absolutne minimum: konwencje kodu, technologie projektu, rzeczy których agent nie powinien robić bez pytania. Reszta – do skills/.
I tu pojawia się rzecz, o której wiele tutoriali milczy: CLAUDE.md jest „advisory”. Agent może zignorować jego zawartość, jeśli sytuacja tego wymaga. To fundamentalna różnica w stosunku do hooków. Serio – wrócimy do tego za chwilę.
CLAUDE.local.md – personalizacja bez konfliktów w zespole
Każdy developer w zespole może mieć swój własny CLAUDE.local.md. Plik jest gitignored z definicji, więc twoje osobiste preferencje – np. „zawsze pytaj przed zapisem do bazy” albo „używaj tabów zamiast spacji” – nie trafiają do repozytorium i nie nadpisują ustawień kolegów. Proste rozwiązanie, a eliminuje dziesiątki zbędnych rozmów przy code review.
Hooks: jedyna część architektury, której agent nie może zignorować
Hooks to skrypty powłoki w katalogu hooks/. I to jedyna część całej architektury .claude/, która działa deterministycznie – odpala się zawsze, niezależnie od treści CLAUDE.md i niezależnie od tego co zrobi agent.
To nie jest sugestia dla Claude’a. To wymuszenie na poziomie systemu.
Trzy główne typy:
- PostToolUse.sh – odpala się po każdej edycji pliku przez agenta. Typowe zastosowania: automatyczny commit do gita, walidacja przez linter, powiadomienie w Slacku o zmianie w konkretnym module.
- SessionStart.sh – przy starcie każdej sesji. Tutaj sprawdzasz czy środowisko jest gotowe do pracy, ładujesz zmienne środowiskowe, weryfikujesz połączenia z zewnętrznymi serwisami.
- PreCompact.sh – przed kompresją kontekstu. Claude Code automatycznie kompresuje starsze fragmenty długich sesji; ten hook pozwala zapisać istotny stan zanim to nastąpi.
Tu robi się ciekawie. Wyobraź sobie agenta, który właśnie zrefaktoryzował 40 plików w twoim projekcie. PostToolUse.sh może automatycznie uruchomić testy po każdej zmianie i zatrzymać agenta, jeśli coś się posypie – zanim przejdzie do pliku numer 41. Bez hooka agent dowie się o problemie dopiero gdy zapytasz. Albo nie dowie się wcale.
Hook może zwrócić non-zero exit code, co natychmiast zatrzymuje wykonywanie bieżącego zadania przez agenta i zwraca mu informację o błędzie. To różni hooks od reguł w CLAUDE.md – tych drugich agent może po prostu nie zastosować.
Skills, agents i rules: zaawansowane zarządzanie kontekstem
Prawdziwa siła architektury .claude/ leży w tym, że nie ładuje wszystkiego naraz. Tu właśnie większość tutoriali się urywa.
Skills: kontekst na żądanie
Skills ładują się wyłącznie wtedy, gdy agent ich potrzebuje – nie przy starcie sesji. Projekt z 30 skillami zużywa tyle samo tokenów przy inicjalizacji co projekt z jednym. Właśnie to odróżnia skills od CLAUDE.md, który trafia do kontekstu zawsze, przy każdym wywołaniu.
Każdy skill to osobny folder z instrukcjami, przykładami i referencjami. Skill api-docs/ może zawierać szablon dokumentacji endpointów, przykłady dobrych i złych opisów oraz listę wymaganych pól. Agent sięgnie po ten skill tylko gdy pracuje z plikami dokumentacji – nie przy pisaniu testów, nie przy refaktorze modelu.
Agents: subagenci z izolowanym kontekstem
Katalog agents/ zawiera definicje subagentów – każdy z własnym, izolowanym oknem kontekstu. Subagent nie widzi historii rozmowy agenta-rodzica i nie dzieli z nim tokenów. Dla złożonych, wieloetapowych zadań to spora oszczędność.
Praktyczne przykłady z pliku konfiguracyjnego: code-reviewer.md analizuje diffy i zwraca podsumowanie bez zaśmiecania głównej sesji, researcher.md odpowiada za web fetch i syntezę zewnętrznych informacji, log-analyzer.md parsuje błędy i crash logi. Każdy robi jedno i robi to dobrze.
Rules: reguły dla konkretnych ścieżek
Katalog rules/ pozwala zdefiniować reguły ładowane tylko dla plików pasujących do wzorca glob. Plik api.md załaduje się wyłącznie gdy agent pracuje z plikami w src/api/** – nie przy froncie, nie przy migracjach, nie przy testach jednostkowych. Efekt: precyzyjniejsze reguły i mniejsze zużycie tokenów na każde wywołanie.
Porównanie elementów architektury – kiedy co stosować
| Komponent | Kiedy się ładuje | Deterministyczny | Gitowany | Najlepsze zastosowanie |
|---|---|---|---|---|
| CLAUDE.md | Zawsze | Nie (advisory) | Tak | Konwencje projektu, stos technologiczny, zakazy |
| CLAUDE.local.md | Zawsze | Nie (advisory) | Nie | Personalne preferencje developera |
| hooks/ | Przy zdarzeniu | Tak | Tak | Auto-commit, testy, walidacja, powiadomienia |
| skills/ | Na żądanie | Nie | Tak | Specjalistyczny kontekst domenowy lub modułowy |
| agents/ | Na żądanie | Nie | Tak | Zadania równoległe, izolowane operacje |
| rules/ | Dla ścieżki (glob) | Nie | Tak | Reguły specyficzne dla modułu lub warstwy |
| commands/ | Na wywołanie (/) | Nie | Tak | Powtarzalne sekwencje: build, lint, deploy |
| plugins/ | Na żądanie | Nie | Tak | Zewnętrzne integracje (Vercel, GitHub Actions) |
Jak zbudować folder .claude/ od zera – co wdrożyć najpierw
Zamiast tworzyć od razu pełną strukturę (co jest pułapką, bo CLAUDE.md urośnie do 500 linii zanim zdążysz mrugnąć), zacznij od trzech kroków. To kolejność, która ma uzasadnienie.
- Utwórz CLAUDE.md z minimum reguł – wypisz tylko to, co naprawdę boli: konwencje nazewnictwa, stos technologiczny, zakazy (np. „nigdy nie modyfikuj pliku schema.sql bez pytania”). Maksimum 50 linii na start. Resztę dodasz gdy agent zrobi coś nieoczekiwanego.
- Dodaj jeden hook: PostToolUse.sh – choćby prostą walidację lintera po każdej zmianie pliku. To natychmiast pokaże ci wartość deterministycznych zachowań w praktyce. Jeden prosty skrypt robi więcej niż trzy strony reguł w CLAUDE.md.
- Przenieś specjalistyczny kontekst do skills/ – wszystko co dotyczy konkretnego modułu lub technologii wyciągnij z CLAUDE.md do osobnego skill-folderu. CLAUDE.md powinien pozostać szczupły – reguły globalne, nic więcej.
Jeśli Twój projekt korzysta z zewnętrznych integracji, sprawdź też dostępne plugins/. W 2026 roku to first-class feature Claude Code – plugin bundluje komendy, agentów i konfigurację MCP w jednym pakiecie. Instalacja jedną komendą zamiast ręcznego składania wszystkiego z osobna.
I jeszcze raz: .mcp.json idzie do roottu projektu, nie do .claude/. Zapamiętaj to teraz, żeby nie debugować przez godzinę dlaczego agent nie widzi serwerów MCP.
Najczęściej zadawane pytania
Czy folder .claude/ musi być w rootcie projektu?
Tak – Claude Code szuka go tylko w głównym katalogu repozytorium. Wyjątek to .mcp.json, który również leży w rootcie, ale poza folderem .claude/. Subfoldery projektu nie mają własnych konfiguracji .claude/.
Jaka jest różnica między CLAUDE.md a plikami w rules/?
CLAUDE.md ładuje się przy każdym wywołaniu agenta, niezależnie od tego z jakimi plikami pracuje. Pliki w rules/ ładują się tylko wtedy gdy agent pracuje ze ścieżkami pasującymi do wzorca glob – np. tylko dla src/api/**. Przekłada się to bezpośrednio na zużycie tokenów i precyzję reguł.
Czy hook może zatrzymać działanie agenta?
Tak. Hook który zwróci non-zero exit code zatrzymuje bieżące zadanie i przekazuje agentowi informację o błędzie. Przydatne gdy testy failują po edycji pliku – agent dostaje sygnał stop zanim przejdzie do kolejnych kroków.
Czy subagent w agents/ ma dostęp do serwerów MCP?
Tak, jeśli .mcp.json jest poprawnie skonfigurowany. Izolacja subagentów dotyczy okna kontekstu – nie uprawnień do narzędzi. Subagent ma dostęp do tych samych serwerów MCP co agent-rodzic.
Ile plików może mieć folder skills/?
Nie ma formalnego limitu. Ponieważ skills ładują się na żądanie, możesz mieć ich dziesiątki bez wpływu na czas startu sesji. Ogranicz się wyłącznie przez czytelność – nadmiar nieużywanych skillów utrudnia orientację w projekcie.
Czy CLAUDE.local.md synchronizuje się z teamem?
Nie – i to jest cel tego pliku. Jest gitignored z definicji. Każdy developer ma swój prywatny CLAUDE.local.md z własnymi preferencjami. Jeśli chcesz podzielić konfigurację z zespołem, użyj CLAUDE.md.
Co to jest plugins/ i czym różni się od commands/?
Commands/ zawiera pojedyncze slash commands – pliki .md definiujące sekwencje działań. Plugins/ (nowość 2026) to pełne paczki: komendy + agenci + konfiguracja MCP razem. Plugin dla Vercela daje od razu wszystko co potrzebne do pracy z tym narzędziem, zainstalowane jedną komendą.
Jak sprawdzić, czy mój CLAUDE.md nie jest za długi?
Nieoficjalny próg to 200 linii. Powyżej tego limitu zużycie tokenów przy każdym wywołaniu staje się odczuwalne w kosztach. Jeśli plik zbliża się do tej granicy, przenieś specjalistyczny kontekst do skills/ i reguły modułowe do rules/. CLAUDE.md powinien zmieścić się na jednym ekranie.
Co wdrożyć od razu – i czego nie robić na start
Architektura folderu .claude/ rozwiązuje jeden konkretny problem: jak dać agentowi właściwy kontekst we właściwym momencie, nie płacąc za to przy każdym wywołaniu. Jeśli twój projekt ma dziś tylko CLAUDE.md – to dobry start. Ale jeśli ten plik rośnie, a agent powtarza te same błędy mimo instrukcji, problem leży w tym, że ładujesz wszystko naraz zamiast selektywnie.
Jeden błąd, który warto pominąć: nie zaczynaj od budowania rozbudowanej hierarchii skills/ i agents/ od razu. Zacznij od hooka PostToolUse.sh z prostą walidacją – to da ci natychmiastowy feedback o tym, jak agent zachowuje się w twoim środowisku. Resztę architektury dodawaj tam, gdzie rzeczywiście boli.
Godzina na folder .claude/ na początku projektu oszczędza dni poprawek na końcu.
Źródła i dalsze informacje
- Anthropic. „Claude Code – oficjalna dokumentacja CLI.” docs.anthropic.com/en/docs/claude-code
- Anthropic. „Model Context Protocol (MCP) – specyfikacja serwerów i konfiguracja.” modelcontextprotocol.io
- Anthropic. „Claude Code hooks – dokumentacja deterministycznych zachowań.” docs.anthropic.com/en/docs/claude-code/hooks







