Pliki CLAUDE.md są fundamentem efektywnego używania Claude Code. Zapewniają trwałą pamięć między sesjami, ustalają kontekst projektu i dramatycznie poprawiają jakość pomocy Claude. Te 10 wskazówek pomoże ci tworzyć pliki CLAUDE.md, które przekształcą twój przepływ pracy.
Pliki CLAUDE.md służą jako system trwałej pamięci Claude Code. W przeciwieństwie do historii konwersacji, która jest czyszczona, te pliki są automatycznie ładowane na początku każdej sesji, zapewniając spójny kontekst o twoim projekcie.
Kluczowe korzyści
Trwały kontekst : Informacje przetrwają między sesjami i członkami zespołu
Zmniejszone zużycie tokenów : Nie ma potrzeby wielokrotnego wyjaśniania szczegółów projektu
Spójność zespołu : Wspólne rozumienie konwencji projektu
Lepsza jakość wyjścia : Claude podąża za twoimi konkretnymi wzorcami i preferencjami
Szybsze wdrażanie : Nowi członkowie zespołu szybko nadrabiają zaległości
Pliki CLAUDE.md mogą być umieszczone na wielu poziomach hierarchii twojego projektu. Claude Code automatycznie je odkrywa i priorytetyzuje na podstawie szczegółowości:
+-- CLAUDE.md # Globalny kontekst projektu
+-- ~/.claude/CLAUDE.md # Osobiste globalne preferencje
| +-- CLAUDE.md # Wytyczne specyficzne dla frontendu
| +-- CLAUDE.md # Wzorce specyficzne dla backendu
+-- CLAUDE.md # Konwencje na poziomie komponentów
Kolejność priorytetów (najbardziej szczegółowy wygrywa):
CLAUDE.md w bieżącym katalogu
CLAUDE.md w katalogu nadrzędnym (rekurencyjnie do korzenia)
CLAUDE.md w korzeniu projektu
~/.claude/CLAUDE.md w katalogu domowym
To jest platforma e-commerce zbudowana z Next.js i Node.js.
- Frontend: Next.js 14 z App Router
- Backend: Node.js z Express
- Baza danych: PostgreSQL z Prisma ORM
- Uwierzytelnianie: JWT z tokenami odświeżania
- Zarządzanie stanem: Zustand
- TypeScript dla całego nowego kodu
- Komponenty funkcyjne z hookami
- Kompleksowa obsługa błędów
- Używaj komponentów funkcyjnych z TypeScript
- Interfejsy Props zdefiniowane nad komponentem
- Niestandardowe hooki w katalogu `/hooks`
- Wspólne komponenty w `/components/shared`
- Tailwind CSS do wszystkich stylów
- Żadnych inline styles poza dynamicznymi wartościami
- Wymagane wsparcie trybu ciemnego
- Projektowanie mobile-first responsive
- Preferuj wczesne zwroty nad zagnieżdzonych warunkach
- Używaj opisowych nazw zmiennych (bez skrótów)
- Komentarze dla "dlaczego", nie "co"
- Maksymalna długość linii: 100 znaków
- Format konwencjonalnych commitów
- Squash commitów przed mergowaniem
- Zawsze tworzenie gałęzi funkcji
Claude Code może automatycznie wygenerować kompleksowy plik CLAUDE.md analizując twój projekt:
Ta komenda:
Skanuje strukturę twojego projektu
Identyfikuje frameworki i biblioteki
Wykrywa wzorce kodowania
Analizuje istniejącą dokumentację
Tworzy dostosowany plik CLAUDE.md
Po wygenerowaniu, dostosuj go dodając:
Konwencje specyficzne dla zespołu
Wyjaśnienia logiki biznesowej
Decyzje architektoniczne
Rozważania dotyczące wydajności
Dołącz często używane komendy i skrypty, aby zmniejszyć przełączanie kontekstu:
- `npm run dev` - Uruchom serwer deweloperski (port 3000)
- `npm run build` - Buduj na produkcję
- `npm run test` - Uruchom zestaw testów
- `npm run test:watch` - Uruchom testy w trybie obserwacji
- `npm run lint` - Uruchom ESLint z auto-fix
- `npm run typecheck` - Uruchom sprawdzanie kompilatora TypeScript
- `npm run db:migrate` - Uruchom oczekujące migracje
- `npm run db:seed` - Zasiej dane deweloperskie
- `npm run db:reset` - Resetuj bazę danych (UWAGA: destrukcyjne)
- `npm run db:studio` - Otwórz Prisma Studio
- `npm run deploy:staging` - Wdrażanie na staging (wymaga VPN)
- `npm run deploy:prod` - Wdrażanie na produkcję (wymaga zatwierdzenia)
## Niestandardowe skrypty
- `./scripts/generate-types.sh` - Generuj typy TypeScript z API
- `./scripts/analyze-bundle.sh` - Analizuj rozmiar bundla webpack
- `./scripts/update-deps.sh` - Interaktywny aktualizator zależności
Profesjonalna wskazówka
Dołącz kontekst o tym kiedy i dlaczego używać każdej komendy, nie tylko co robią.
Dokumentuj standardy kodowania twojego zespołu i preferencje jasno:
- ** ZAWSZE ** używaj jawnych typów zwracanych dla funkcji
- ** ZAWSZE ** definiuj interfejsy dla propsów komponentów
- ** PREFERUJ ** type nad interface dla unii i prymitywów
- ** UNIKAJ ** typu any - używaj unknown i zawężania typów
variant?: 'primary' | 'secondary';
const Button: React.FC < ButtonProps > = ({ label, onClick, variant = 'primary' }) => {
return < button className = {styles[variant]} onClick = {onClick} > {label} </ button > ;
const Button = ({ label, onClick, variant }: any) => {
return < button onClick = {onClick} > {label} </ button > ;
2. Wewnętrzne aliasy (~/)
3. Importy relatywne (./)
import React, { useState, useEffect } from 'react';
import { useRouter } from 'next/router';
import { api } from '~/lib/api';
import { Button } from '~/components/ui';
import { formatDate } from './utils';
import styles from './Component.module.css';
- Używaj niestandardowych klas błędów
- Zawsze loguj błędy z kontekstem
- Dostarczaj przyjazne dla użytkownika komunikaty błędów
- Dołączaj error boundaries dla komponentów React
Dokumentuj praktyki zespołu i przepływ pracy, aby zapewnić spójność:
1. ** Nazewnictwo gałęzi ** : `feature/opis` , `fix/opis` , `chore/opis`
2. ** Komunikaty commitów ** : Podążaj za konwencjonalnymi commitami
- `docs:` Tylko dokumentacja
- `style:` Zmiany stylu kodu
- `refactor:` Refaktoryzacja kodu
- `chore:` Zmiany procesu budowy lub narzędzi pomocniczych
1. ** Samodzielny przegląd ** : Najpierw przejrzyj własne PR
2. ** Opis ** : Użyj szablonu PR, podłącz do issue
3. ** Testy ** : Wszystkie testy muszą przejść
4. ** Zrzuty ekranu ** : Dołącz dla zmian UI
5. ** Rozmiar ** : Utrzymuj PR poniżej 400 linii gdy to możliwe
- Bądź konstruktywny i konkretny
- Sugeruj ulepszenia, nie tylko krytykuj
- Używaj "my" zamiast "ty" w komentarzach
- Zatwierdzaj z "LGTM" (Looks Good To Me)
- ** Squash and merge ** dla gałęzi funkcji
- ** Rebase ** do aktualizacji gałęzi funkcji
- ** Bez merge commitów ** w głównej gałęzi
Pomóż Claude zrozumieć twoje środowisko deweloperskie:
# Środowisko deweloperskie
- Node.js 18.x lub wyżej (użyj nvm)
- Docker Desktop (opcjonalnie, dla kontenerów)
## Początkowa konfiguracja
1. Klonuj repozytorium: `git clone <repo-url>`
2. Zainstaluj zależności: `npm install`
3. Skopiuj zmienne środowiskowe: `cp .env.example .env`
4. Skonfiguruj plik .env:
- DATABASE_URL: String połączenia PostgreSQL
- REDIS_URL: String połączenia Redis
- JWT_SECRET: Wygeneruj za pomocą `openssl rand -base64 32`
- API_KEY: Uzyskaj od lidera zespołu
5. Uruchom migracje: `npm run db:migrate`
6. Zasiej bazę danych: `npm run db:seed`
7. Uruchom rozwój: `npm run dev`
- ** Rozwój ** : Użyj .env.local (git-ignored)
- ** Testowanie ** : Użyj .env.test
- ** Produkcja ** : Ustaw na platformie wdrażania
- Gorące przeładowanie może zawieść na Windows - uruchom ponownie serwer deweloperski
- Port 3000 koliduje z innymi usługami - zmień w .env
- Połączenia z bazą danych mogą się wyczerpać - zwiększ rozmiar puli
Dokumentuj pułapki i nieoczywiste zachowania:
- ** Strona listy produktów ** : Limit do 50 elementów ze względu na wydajność
- ** Przesyłanie obrazów ** : Automatycznie kompresowane, max 5MB
- ** Indeksowanie wyszukiwania ** : Działa asynchronicznie, może trwać 30 sekund
- ** Invalidacja cache ** : Wymagane ręczne wyzwolenie dla niektórych operacji
- ** Klucze API ** : Nigdy nie commituj do repozytorium
- ** Dane użytkowników ** : PII musi być szyfrowane w spoczynku
- ** Przesyłanie plików ** : Waliduj typy MIME po stronie serwera
- ** Zapytania SQL ** : Używaj wyłącznie zapytań parametryzowanych
1. ** Zarządzanie stanem **
- Nie mutuj stanu Zustand bezpośrednio
- Używaj immer do złożonych aktualizacji
- Zawsze obsługuj stany ładowania i błędu
- Używaj AbortController do czyszczenia
3. ** Zapytania do bazy danych **
- N+1 zapytania częste w panelu użytkownika
- Używaj includes dla powiązanych danych
- Mockuj zewnętrzne usługi
- Resetuj bazę danych między zestawami testów
Claude Code zapewnia szybki sposób aktualizacji plików CLAUDE.md podczas rozwoju:
# Podczas sesji Claude Code, naciśnij # i wpisz:
Always use Tailwind classes for styling, never inline styles
I 'll add that to the most relevant CLAUDE.md file.
Ta funkcja:
Automatycznie określa najlepszy plik CLAUDE.md do aktualizacji
Dodaje instrukcje w odpowiedniej sekcji
Utrzymuje formatowanie i strukturę
Działa zarówno dla nowych reguł jak i poprawek
Częste zastosowania:
Dodawanie odkrytych wzorców
Korygowanie nieporozumień
Dokumentowanie decyzji podjętych podczas rozwoju
Przechwytywanie preferencji zespołu
Traktuj treść CLAUDE.md jak prompty - bądź konkretny i używaj podkreśleń:
Używaj TypeScript dla plików.
** ZAWSZE ** używaj TypeScript ze strict mode włączonym dla WSZYSTKICH plików.
** MUSISZ ** podążać za style guide Airbnb z naszymi modyfikacjami:
- 2 spacje wcięcia (NIE tabulatory)
- Przecinki na końcu w wieloliniowych
** WYMAGANE ** dla każdej funkcji:
- Testy jednostkowe z >80% pokryciem
- Testy integracyjne dla endpointów API
- Testy E2E dla krytycznych ścieżek użytkownika
- Używaj słowa kluczowego var (użyj const/let)
- Commituj instrukcji console.log
- Wyłączaj reguły ESLint bez komentarza
Skuteczne wzorce instrukcji:
ZAWSZE/NIGDY dla reguł bezwzględnych
PREFERUJ/UNIKAJ dla silnych rekomendacji
ROZWAŻ dla sugestii
Przykłady dla wyjaśnienia oczekiwań
Okresowo optymalizuj swoje pliki CLAUDE.md używając technik ulepszania promptów Anthropic:
Wyeksportuj treść CLAUDE.md
cat CLAUDE.md > claude-md-content.txt
Użyj Claude do ulepszenia
Improve this CLAUDE.md file to be more effective for Claude Code.
Make instructions clearer, add helpful examples, and organize better:
Skup się na ulepszeniach takich jak :
Czytelniejsza organizacja sekcji
Bardziej konkretne instrukcje
Lepsze przykłady
Usunięcie niejednoznaczności
Dodanie kontekstu
Przetestuj ulepszoną wersję
Uruchom nową sesję Claude Code
Zweryfikuj, czy instrukcje są poprawnie przestrzegane
Iteruj na podstawie wyników
Lista kontrolna optymalizacji
Czytelne nagłówki sekcji z celem
Konkretne, wykonalne instrukcje
Przykłady dla złożonych koncepcji
Ostrzeżenia o częstych błędach
Linki do dodatkowych zasobów
Regularne przeglądanie i aktualizacje
Najbardziej skuteczne pliki CLAUDE.md mają wspólne cechy:
Struktura hierarchiczna : Używaj wielu plików dla różnych kontekstów
Żywa dokumentacja : Regularnie aktualizuj w miarę ewolucji projektu
Spójność zespołu : Udostępniaj i kontroluj wersje plików CLAUDE.md
Czytelne przykłady : Pokazuj, a nie tylko mów
Konkretne instrukcje : Bądź explicytny wobec oczekiwań
Bogaty kontekst : Dołączaj “dlaczego” za decyzjami
Integracja narzędzi : Dokumentuj niestandardowe narzędzia i skrypty
System ostrzeżeń : Wyróżniaj pułapki i problemy
Regularny przegląd : Optymalizuj na podstawie rzeczywistego użycia
Szybkie aktualizacje : Używaj klawisza # do natychmiastowych ulepszeń
Z dobrze zoptymalizowanymi plikami CLAUDE.md zapewniającymi kontekst, jesteś gotowy opanować interfejs linii poleceń. Przejdź do Mistrzostwo w linii poleceń , aby nauczyć się istotnych komend i skrótów produktywności.