Przejdź do głównej zawartości

Optymalizacja CLAUDE.md: Wskazówki 16-25

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:

project-root/
+-- CLAUDE.md # Globalny kontekst projektu
+-- ~/.claude/CLAUDE.md # Osobiste globalne preferencje
+-- frontend/
| +-- CLAUDE.md # Wytyczne specyficzne dla frontendu
+-- backend/
| +-- CLAUDE.md # Wzorce specyficzne dla backendu
+-- src/
+-- components/
+-- CLAUDE.md # Konwencje na poziomie komponentów

Kolejność priorytetów (najbardziej szczegółowy wygrywa):

  1. CLAUDE.md w bieżącym katalogu
  2. CLAUDE.md w katalogu nadrzędnym (rekurencyjnie do korzenia)
  3. CLAUDE.md w korzeniu projektu
  4. ~/.claude/CLAUDE.md w katalogu domowym
# Przegląd projektu
To jest platforma e-commerce zbudowana z Next.js i Node.js.
## Architektura
- 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
## Kluczowe zasady
- TypeScript dla całego nowego kodu
- Komponenty funkcyjne z hookami
- RESTful API design
- Kompleksowa obsługa błędów

Wskazówka 17: Użyj funkcji automatycznego generowania

Dział zatytułowany „Wskazówka 17: Użyj funkcji automatycznego generowania”

Claude Code może automatycznie wygenerować kompleksowy plik CLAUDE.md analizując twój projekt:

Okno terminala
claude
/init

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:

# Częste komendy
## Rozwój
- `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
## Baza danych
- `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
## Wdrażanie
- `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:

# Wytyczne stylu kodu
## TypeScript
- **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
Przykład:
\`\`\`typescript
// Dobrze
interface ButtonProps {
label: string;
onClick: () => void;
variant?: 'primary' | 'secondary';
}
const Button: React.FC<ButtonProps> = ({ label, onClick, variant = 'primary' }) => {
return <button className={styles[variant]} onClick={onClick}>{label}</button>;
};
// Źle
const Button = ({ label, onClick, variant }: any) => {
return <button onClick={onClick}>{label}</button>;
};
\`\`\`
## Organizacja importów
1. Zewnętrzne zależności
2. Wewnętrzne aliasy (~/)
3. Importy relatywne (./)
4. Importy stylów
Przykład:
\`\`\`typescript
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';
\`\`\`
## Obsługa błędów
- 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ść:

# Etykieta repozytorium
## Przepływ pracy Git
1. **Nazewnictwo gałęzi**: `feature/opis`, `fix/opis`, `chore/opis`
2. **Komunikaty commitów**: Podążaj za konwencjonalnymi commitami
- `feat:` Nowa funkcja
- `fix:` Naprawa błędu
- `docs:` Tylko dokumentacja
- `style:` Zmiany stylu kodu
- `refactor:` Refaktoryzacja kodu
- `test:` Zmiany testów
- `chore:` Zmiany procesu budowy lub narzędzi pomocniczych
## Proces Pull Request
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
## Wytyczne Code Review
- Bądź konstruktywny i konkretny
- Sugeruj ulepszenia, nie tylko krytykuj
- Używaj "my" zamiast "ty" w komentarzach
- Zatwierdzaj z "LGTM" (Looks Good To Me)
## Strategia merge
- **Squash and merge** dla gałęzi funkcji
- **Rebase** do aktualizacji gałęzi funkcji
- **Bez merge commitów** w głównej gałęzi

Wskazówka 21: Dokumentuj wymagania konfiguracji środowiska

Dział zatytułowany „Wskazówka 21: Dokumentuj wymagania konfiguracji środowiska”

Pomóż Claude zrozumieć twoje środowisko deweloperskie:

# Środowisko deweloperskie
## Wymagania wstępne
- Node.js 18.x lub wyżej (użyj nvm)
- PostgreSQL 14.x
- Redis 6.x (do cache)
- 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`
## Zmienne środowiskowe
- **Rozwój**: Użyj .env.local (git-ignored)
- **Testowanie**: Użyj .env.test
- **Produkcja**: Ustaw na platformie wdrażania
## Znane problemy
- 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

Wskazówka 22: Dodaj ostrzeżenia specyficzne dla projektu

Dział zatytułowany „Wskazówka 22: Dodaj ostrzeżenia specyficzne dla projektu”

Dokumentuj pułapki i nieoczywiste zachowania:

# Ważne ostrzeżenia
## Względy wydajności
- **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
## Uwagi bezpieczeństwa
- **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
## Częste pułapki
1. **Zarządzanie stanem**
- Nie mutuj stanu Zustand bezpośrednio
- Używaj immer do złożonych aktualizacji
2. **Wywołania API**
- 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
4. **Testowanie**
- Mockuj zewnętrzne usługi
- Resetuj bazę danych między zestawami testów

Wskazówka 23: Użyj klawisza # do dynamicznych aktualizacji

Dział zatytułowany „Wskazówka 23: Użyj klawisza # do dynamicznych aktualizacji”

Claude Code zapewnia szybki sposób aktualizacji plików CLAUDE.md podczas rozwoju:

Okno terminala
# Podczas sesji Claude Code, naciśnij # i wpisz:
Always use Tailwind classes for styling, never inline styles
# Claude odpowiada:
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ń:

# Wytyczne
Używaj TypeScript dla plików.
Podążaj za style guide.
Pisz testy.

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:

  1. Wyeksportuj treść CLAUDE.md

    Okno terminala
    cat CLAUDE.md > claude-md-content.txt
  2. 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:
    [wklej treść]
  3. Skup się na ulepszeniach takich jak:

    • Czytelniejsza organizacja sekcji
    • Bardziej konkretne instrukcje
    • Lepsze przykłady
    • Usunięcie niejednoznaczności
    • Dodanie kontekstu
  4. 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:

  1. Struktura hierarchiczna: Używaj wielu plików dla różnych kontekstów
  2. Żywa dokumentacja: Regularnie aktualizuj w miarę ewolucji projektu
  3. Spójność zespołu: Udostępniaj i kontroluj wersje plików CLAUDE.md
  4. Czytelne przykłady: Pokazuj, a nie tylko mów
  5. Konkretne instrukcje: Bądź explicytny wobec oczekiwań
  6. Bogaty kontekst: Dołączaj “dlaczego” za decyzjami
  7. Integracja narzędzi: Dokumentuj niestandardowe narzędzia i skrypty
  8. System ostrzeżeń: Wyróżniaj pułapki i problemy
  9. Regularny przegląd: Optymalizuj na podstawie rzeczywistego użycia
  10. 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.