Przejdź do głównej zawartości

Reguły Projektu

Prosisz AI o utworzenie endpointu API. Generuje kod w stylu Express, gdy twój projekt używa Hono. Umieszcza handler ścieżki w src/routes/, gdy twoją konwencją jest src/api/. Używa var zamiast const. Nazywa plik userController.ts, gdy twój zespół używa kebab-case. Żaden z tych problemów nie jest trudny, ale naprawianie ich za każdym razem to śmierć przez tysiąc cięć. Reguły projektu rozwiązują to na stałe: piszesz instrukcję raz, a AI przestrzega jej w każdej interakcji od tego momentu.

  • Katalog .cursor/rules/ z praktycznymi regułami, które natychmiast poprawiają jakość wyników AI
  • Zrozumienie czterech typów reguł (Always, Auto-attached, Agent-decided, Manual) i kiedy używać każdego
  • Gotowe do użycia szablony reguł dla stylu kodu, architektury i testowania
  • Workflow do iteracji nad regułami, gdy twój zespół odkrywa nowe wzorce

Reguły to pliki markdown w .cursor/rules/, które są automatycznie wstrzykiwane do kontekstu AI. Pomyśl o nich jak o trwałych promptach systemowych — instrukcjach, które są stosowane bez konieczności wpisywania ich za każdym razem.

Cursor obsługuje rozszerzenia plików .md i .mdc. Format .mdc dodaje frontmatter do kontrolowania, kiedy reguły są stosowane.

.cursor/rules/
code-style.mdc # Stosowane do każdej interakcji
react-patterns.mdc # Stosowane podczas edycji plików React
api-conventions.mdc # Stosowane podczas edycji ścieżek API
legacy-handling.md # Stosowane tylko gdy ręcznie odwołane
TypFrontmatterKiedy Jest Stosowane
Always ApplyalwaysApply: trueKażdy czat, każdy plik, za każdym razem
Auto-attachedglobs: ["src/components/**/*.tsx"]Gdy agent dotyka plików pasujących do wzorca
Agent-decidedalwaysApply: false + descriptionGdy agent określi, że jest istotne na podstawie opisu
ManualalwaysApply: false, brak globsTylko gdy wpiszesz @rule-name w czacie

Katalog .cursor/rules/ powinien istnieć w głównym katalogu twojego projektu. Cursor tworzy go automatycznie, gdy używasz polecenia “New Cursor Rule”, ale możesz także utworzyć go ręcznie:

Okno terminala
mkdir -p .cursor/rules

To jest najważniejsza reguła, którą napiszesz. Obejmuje uniwersalne standardy, które nigdy nie powinny być naruszone.

Te reguły aktywują się tylko wtedy, gdy agent pracuje na pasujących plikach.

---
description: Standardy komponentów React
globs: ["src/components/**/*.tsx", "src/app/**/*.tsx"]
---
# Reguły Komponentów React
- Używaj komponentów funkcyjnych z jawnym interfejsem propsów TypeScript
- Wyodrębnij złożoną logikę do niestandardowych hooków w tym samym katalogu
- Utrzymuj komponenty poniżej 150 linii -- podziel na pod-komponenty, jeśli większe
- Używaj modułów CSS lub klas narzędziowych Tailwind, nigdy stylów inline
- Uwzględnij aria-labels dla elementów interaktywnych
## Szablon Komponentu
Odwołaj się do @src/components/Button.tsx jako kanonicznego przykładu
dla typowania propsów, granic błędów i struktury testów.

Te reguły mają opis, który agent czyta, aby zdecydować o istotności. Używaj ich dla wytycznych, które mają znaczenie tylko w konkretnych kontekstach.

---
description: Wytyczne optymalizacji wydajności na wypadek, gdy użytkownik pyta o wydajność, opóźnienie lub ulepszenia szybkości
alwaysApply: false
---
# Wytyczne Wydajności
Podczas optymalizacji kodu:
- Profiluj przed optymalizacją -- nie zgaduj wąskich gardeł
- Preferuj ulepszenia algorytmiczne nad mikro-optymalizacjami
- Cachuj kosztowne obliczenia na odpowiedniej warstwie
- Używaj leniwego ładowania dla komponentów niewidocznych przy początkowym renderowaniu
- Dokumentuj poprawę wydajności z metrykami przed/po

Zespół Cursor zaleca utrzymywanie reguł poniżej 500 linii. W praktyce 50-200 linii na plik reguły działa najlepiej. Jeden temat na plik.

Zamiast wklejać cały szablon komponentu do reguły, wskaż kanoniczny przykład:

## Wzorzec Komponentu
Postępuj zgodnie ze strukturą w @src/components/DataTable.tsx dla wszystkich nowych komponentów tabel.

To utrzymuje reguły krótkie i zapobiega ich starzeniu się, gdy referowany kod się zmienia.

Nie próbuj pisać z góry każdej możliwej reguły. Zacznij od podstawowej reguły z Kroku 2, używaj Cursor przez tydzień i zauważaj, gdzie AI konsekwentnie dokonuje złego wyboru. Każdy błąd jest sygnałem do dodania reguły.

Reguły należą do kontroli wersji. To wiedza zespołowa:

Okno terminala
git add .cursor/rules/
git commit -m "Dodaj reguły projektu dla generowania kodu AI"

Gdy AI popełni błąd, któremu reguła powinna była zapobiec, zaktualizuj regułę i commituj poprawkę. Z czasem twoje reguły stają się żywym dokumentem konwencji twojego zespołu.

Jeśli twój projekt potrzebuje minimalnych reguł, Cursor obsługuje również prosty plik AGENTS.md w głównym katalogu projektu. Bez frontmatter, bez globs — tylko instrukcje markdown, które zawsze są stosowane.

# Instrukcje Projektu
- To jest projekt Next.js 15 App Router z TypeScript
- Używaj Drizzle ORM dla zapytań do bazy danych
- Wszystkie ścieżki API używają walidacji Zod
- Testuj z Vitest, uruchamiaj testy za pomocą `npm test`

AGENTS.md jest dobry do szybkiego startu. Migruj do .cursor/rules/, gdy potrzebujesz targetowania wzorców plików lub kontroli typu reguły.

Cursor obsługuje Agent Skills — otwarty standard importowania wielokrotnego użytku reguł z zewnętrznych źródeł. To reguły wnoszone przez społeczność, które agent stosuje, gdy określi, że są istotne.

Aby włączyć lub wyłączyć Agent Skills:

  1. Otwórz Cursor Settings, następnie Rules
  2. Znajdź sekcję Import Settings
  3. Przełącz Agent Skills na włączone lub wyłączone

Możesz także importować reguły bezpośrednio z repozytoriów GitHub przez Cursor Settings, następnie Rules, Commands, następnie Add Rule, następnie Remote Rule.

Reguły nie są stosowane: Sprawdź, czy plik jest w .cursor/rules/ (nie .cursor/rule/ lub głównym katalogu projektu). Zweryfikuj składnię frontmatter — brakujący ogranicznik --- psuje parsowanie. Najedź na wskaźnik kontekstu w polu promptu, aby zobaczyć, które reguły są aktywne.

Reguły kolidują ze sobą: Agent próbuje przestrzegać wszystkich aktywnych reguł jednocześnie. Jeśli masz sprzeczne instrukcje, zachowanie jest nieprzewidywalne. Audytuj swoje reguły pod kątem konfliktów.

Reguły czynią AI zbyt sztywnymi: Jeśli AI odmawia zrobienia czegoś rozsądnego, ponieważ reguła mówi, żeby nie, albo uczyń regułę bardziej konkretną, albo dodaj wyjątek. Reguły powinny kierować, nie krępować.

Wygenerowane reguły są zbyt ogólne: Reguły generowane przez AI często zaczynają się mgliste. Traktuj je jako pierwszy szkic i edytuj intensywnie. Zastąp “przestrzegaj najlepszych praktyk” konkretnymi, mierzalnymi instrukcjami.