Lekcja 2 · Koszt stały, który piszesz sam

CLAUDE.md pod lupą

Z Lekcji 1 wiesz, że CLAUDE.md ląduje w kontekście zawsze, w każdej sesji. To jedyny "koszt stały", który w pełni kontrolujesz — piszesz go Ty. Ta lekcja uczy, jak napisać taki, który realnie poprawia jakość pracy Claude, zamiast tylko zajmować miejsce.

Polecane źródło How Claude remembers your project — Claude Code Docs — pełna specyfikacja hierarchii CLAUDE.md, kolejności ładowania i .claude/rules/.

Kto pisze co

Claude Code ma dwa uzupełniające się mechanizmy pamięci, oba ładowane na starcie każdej sesji:

CLAUDE.mdAuto memory
Kto piszeTyClaude, samo
Co zawieraInstrukcje i zasadyWnioski i wzorce, które Claude odkryło
Zakresprojekt / użytkownik / organizacjaper repozytorium

Ta lekcja dotyczy tego, co Ty piszesz. Jeśli sekcja instrukcji w CLAUDE.md urosła w wieloetapową procedurę używaną tylko czasami — to sygnał, że powinna stać się skillem (Lekcja 3), a nie zostać tutaj.

Gdzie mieszka i w jakiej kolejności się ładuje

PoziomLokalizacjaWspółdzielony z
Managed (firma)zależnie od OS, zarządzane centralniewszyscy w organizacji
User~/.claude/CLAUDE.mdtylko Ty, wszystkie projekty
Project./CLAUDE.md lub ./.claude/CLAUDE.mdzespół, przez git
Local./CLAUDE.local.mdtylko Ty, ten projekt (dopisz do .gitignore)
Pliki się nie nadpisują — łączą w jeden kontekst, od najszerszego zakresu do najbardziej szczegółowego. Instrukcja projektowa "wygrywa" w praktyce, bo Claude czyta ją jako ostatnią, najbliższą bieżącej pracy.

Co wpisać, a czego nie

✅ Wpisz❌ Pomiń
Komendy, których Claude nie zgadnieTo, co Claude wywnioskuje czytając kod
Styl kodu odróżniający się od domyślnegoStandardowe konwencje języka
Instrukcje testowania i preferowany runnerSzczegółową dokumentację API — daj link
Konwencje repo (branche, PR)Informacje, które często się zmieniają
Decyzje architektoniczne specyficzne dla projektuDługie wyjaśnienia i tutoriale
Wymagane zmienne środowiskowe, pułapkiOczywiste rady w stylu "pisz czysty kod"

Dla każdej linii zadaj pytanie: "czy jej usunięcie sprawiłoby, że Claude zrobi błąd?". Jeśli nie — usuń.

Kluczowy wniosek: rozmiar i konkretność to nie styl, to skuteczność. Cel: <200 linii. "Używaj wcięć 2-spacjowych" działa lepiej niż "formatuj kod porządnie" — bo drugie nie da się zweryfikować. Zbyt długi CLAUDE.md sprawia, że Claude ignoruje część reguł, bo giną w szumie.

Zadanie praktyczne — napisz prawdziwy CLAUDE.md dla tego repo

Ten katalog (F:\nauka-ai\claude) to Twój prawdziwy workspace do nauki — nie ma jeszcze CLAUDE.md. Napisz go razem ze mną albo samodzielnie w edytorze:

  1. Wypisz 3–6 rzeczy, które ktoś (albo Ty za miesiąc) musiałby wiedzieć otwierając tu Claude Code, a czego nie wywnioskuje z samych plików — np. że to workspace `/teach`, gdzie żyją lekcje, jakiego stylu/komponentów używać, jakiej struktury numeracji trzymać się dla nowych plików.
  2. Przefiltruj listę przez tabelę ✅/❌ powyżej.
  3. Zapisz jako ./CLAUDE.md, poniżej 200 linii.
  4. Uruchom /memory — sprawdź, czy plik jest widoczny na liście załadowanych.
  5. Uruchom /context — zobacz, ile tokenów kosztuje Twój nowy plik.

Powiedz mi, kiedy będziesz gotów/gotowa — mogę napisać go razem z Tobą albo zrecenzować to, co powstanie.

Sprawdź się

1. Twój projektowy CLAUDE.md ma 450 linii i Claude notorycznie ignoruje część instrukcji. Co sprawdzisz najpierw?

Zbyt długi CLAUDE.md to najczęstsza przyczyna ignorowanych reguł — ważne instrukcje giną w szumie. Docelowo <200 linii; resztę przenieś do skilli lub reguł ścieżkowych.

2. Które z poniższych powinno trafić do CLAUDE.md?

Konwencje repo, których Claude nie zgadnie z samego kodu, to klasyczny dobry wpis. Dokumentację API lepiej zlinkować, opis pliku po pliku Claude przeczyta sam, a ogólne rady w stylu "czysty kod" nic nie wnoszą, bo nie da się ich zweryfikować.

3. Masz jednocześnie ~/.claude/CLAUDE.md i ./CLAUDE.md w projekcie. Co się dzieje na starcie sesji?

Pliki się konkatenują, nie nadpisują — od najszerszego zakresu (user) do najbardziej lokalnego (project), w tej właśnie kolejności w kontekście.

4. Masz procedurę wieloetapową, potrzebną tylko przy okazji wdrożeń. Gdzie ją umieścisz?

Procedura używana tylko czasem to podręcznikowy przypadek na skill (Lekcja 3) — ładuje się dopiero przy wywołaniu, więc nie kosztuje nic w sesjach, gdzie nie jest potrzebna. CLAUDE.md ładuje się zawsze, więc płaciłbyś za nią w każdej sesji.

5. Do czego dokładnie służy CLAUDE.local.md?

To osobisty, niewersjonowany plik dla bieżącego projektu — np. Twoje sandboxowe URL-e czy dane testowe. Globalne ustawienia to `~/.claude/CLAUDE.md`, a automatyczne notatki Claude to auto memory, nie CLAUDE.local.md.
Coś niejasne? Zapytaj mnie wprost — mogę pomóc dobrać treść Twojego CLAUDE.md, pokazać przykład z prawdziwego projektu firmowego, albo przejść dalej do skilli.
← Lekcja 1: Model mentalny okna kontekstu Następna lekcja: Skille — kiedy CLAUDE.md już nie wystarcza →