Przejdź do głównej zawartości

Dokumentacja jako efektywny kontekst AI

Właśnie wdrożyłeś nowego programistę. Spędza pierwszy tydzień zadając te same pytania: “Jak uruchomię testy?” “Jaki jest proces wdrażania?” “Dlaczego używamy tego wzorca zamiast tamtego?” Teraz wyobraź sobie, że ten programista zadaje te same pytania każdego ranka, bo zapomina przez noc.

Tak wygląda praca z asystentem AI do kodowania bez dokumentacji-jako-kontekstu. Każda nowa sesja AI zaczyna od zera. Nie zna twoich komend budowania, konwencji zespołu ani decyzji architektonicznych. Odkrywa je ponownie czytając pliki — paląc tokeny kontekstu na informacje, które mógłbyś mu podać w 10 liniach.

  • Szablon dla pliku konfiguracyjnego każdego narzędzia (CLAUDE.md, .cursor/rules, AGENTS.md)
  • Wskazówki, co uwzględniać, a co pomijać
  • Prompty do bootstrapowania dokumentacji z istniejącej bazy kodu
  • Strategia utrzymywania aktualności dokumentacji w miarę ewolucji projektu

Każde narzędzie ma własny mechanizm trwałej dokumentacji na poziomie sesji. Mimo różnych nazw, służą temu samemu celowi: przekazywanie AI wiedzy specyficznej dla projektu, której nie może wywnioskować z samego kodu.

Project Rules znajdują się w .cursor/rules/ jako pliki markdown. Mogą być ograniczone wzorcem plików, stosowane zawsze lub wywoływane ręcznie.

.cursor/rules/
code-style.md # Stosowane zawsze
testing.mdc # Stosowane do plików testowych (przez globs)
api-conventions.md # Agent decyduje na podstawie trafności
deployment.md # Tylko ręczne wywołanie

Cursor obsługuje również User Rules (globalne preferencje w Cursor Settings) oraz AGENTS.md jako prostszą alternatywę dla .cursor/rules.

Kluczowe możliwości:

  • Reguły ograniczone globami: Stosowane tylko przy pracy z pasującymi plikami
  • Reguły decydowane przez agenta: Stosowane gdy Cursor uzna je za istotne
  • Team Rules: Reguły organizacyjne zarządzane z dashboardu (plany Team/Enterprise)
  • Zdalne reguły: Import reguł z repozytoriów GitHub, które są synchronizowane

Złota zasada: jeśli usunięcie tej linii spowodowałaby, że AI popełni błąd, zachowaj ją. Jeśli AI już robi to poprawnie bez tej linii, usuń ją.

KategoriaPrzykład
Komendy budowanianpm run build, make test, docker compose up
Komendy testowenpm test -- --testPathPattern=auth, pytest -x
Reguły stylu kodu odbiegające od domyślnych”Używaj pojedynczych cudzysłowów”, “2-spacjowe wcięcia”
Wzorce architektoniczne”Wzorzec Repository do dostępu do danych”, “Wszystkie route API w src/pages/api/“
Nieoczywiste ograniczenia”Redis musi być uruchomiony do testów integracyjnych”, “Używaj pnpm, nie npm”
Konfiguracja środowiska”Uruchom cp .env.example .env przed pierwszym budowaniem”
KategoriaDlaczego
Standardowe konwencje językoweAI już je zna
Opisy plik po plikuAI może przeczytać pliki
Długie tutoriale lub wyjaśnieniaZa dużo tekstu sprawia, że AI ignoruje ważne reguły
Informacje, które często się zmieniająStaną się przestarzałe i zmylą AI
Oczywiste praktyki”Pisz czysty kod” nic nie wnosi

Różnica między dokumentacją, która działa, a dokumentacją ignorowaną przez AI, sprowadza się do konkretności i zwięzłości.

# Code Quality
We care deeply about code quality. Always write clean, maintainable,
well-documented code that follows best practices. Make sure to handle
errors properly and write tests for your code.
# Code Style
- Use ES modules (import/export), not CommonJS (require)
- Prefer async/await over .then() chains
- Error responses: { error: string, code: number } shape
# Testing
- Run single tests with: npm test -- --testPathPattern=<name>
- Never mock the database in integration tests
- Test file location: src/**/__tests__/<name>.test.ts
# Workflow
- Run npm run type-check after making code changes
- NEVER commit to main directly. Always create a branch.

Dziel reguły na skupione pliki. Użyj frontmatter do kontroli, kiedy są stosowane:

---
description: "API endpoint conventions"
globs:
- "src/api/**/*.ts"
- "src/routes/**/*.ts"
---
# API Conventions
- All endpoints return { data: T } on success, { error: string } on failure
- Use Zod for request validation
- Include rate limiting middleware on all public endpoints
- Reference @src/api/users.ts as the canonical example

Dokumentacja, która staje się przestarzała, jest gorsza niż brak dokumentacji — aktywnie wprowadza AI w błąd.

  1. Przeglądaj co miesiąc. Zaplanuj 10-minutowy przegląd plików instrukcji. Usuń reguły, które już nie obowiązują. Dodaj reguły dla błędów, które AI wciąż popełnia.
  2. Traktuj jak kod. Commituj pliki instrukcji do git. Przeglądaj zmiany w PR. Pozwól zespołowi kontrybuować.
  3. Użyj AI do utrzymywania. Po trudnej sesji debugowania poproś AI o dodanie reguły zapobiegającej temu samemu problemowi następnym razem.
  4. Obserwuj ignorowane reguły. Jeśli AI wciąż łamie regułę, plik jest prawdopodobnie za długi i reguła gubi się. Przycinaj agresywnie.

Plik jest za długi i reguły są ignorowane. To najczęstszy problem. Utrzymuj główny plik instrukcji poniżej 50 linii. Przenoś szczegółowe wytyczne do plików tematycznych (.claude/rules/, ograniczone .cursor/rules/). Użyj wyróżnienia (“IMPORTANT:”, “YOU MUST”) dla kluczowych reguł, ale oszczędnie — jeśli wszystko jest ważne, nic nie jest.

Różni członkowie zespołu dodają sprzeczne reguły. Traktuj pliki instrukcji jak kod: przeglądaj zmiany, rozwiązuj konflikty, utrzymuj jedno źródło prawdy. W Claude Code użyj głównego CLAUDE.md do reguł zespołowych i CLAUDE.local.md do osobistych preferencji.

AI stosuje przestarzałe reguły. Jeśli twój framework testowy się zmienił, ale plik instrukcji wciąż odwołuje się do starego, AI będzie używać złych komend i się pogubi. Regularnie audytuj.

Za dużo plików reguł w monorepo. Przy zagnieżdżonych plikach instrukcji w pakietach, łączny kontekst może przekroczyć limity. W Codex ustawienie project_doc_max_bytes (domyślnie 32 KiB) ogranicza całość. W Claude Code tylko pierwsze 200 linii auto-pamięci MEMORY.md jest ładowanych. Utrzymuj każdy plik skupiony.