
Cursor Rules vs CLAUDE.md vs AGENTS.md: Przetestowałem jedną konfigurację na wszystkich trzech (2026)
Pytanie cursor rules vs claude md ma wbudowaną pułapkę: to nie są dwie opcje, między którymi wybierasz. To dwa pliki, czytane przez dwa różne narzędzia, które przypadkiem robią to samo. Wrzuć CLAUDE.md do projektu w Cursor — Cursor go zignoruje. Wrzuć AGENTS.md do Claude Code — też nic się nie stanie. Nas to też zaskoczyło. AGENTS.md jest już w ponad 60 000 repozytoriów jako otwarty standard, zarządzany przez Agentic AI Foundation w ramach Linux Foundation, a Claude Code nadal go nie czyta samodzielnie. Oto mapa kompatybilności, przetestowana na naszym repo.
Najważniejsze wnioski
- Cursor czyta
.cursor/rules/*.mdciAGENTS.md, ale nieCLAUDE.md. - Claude Code czyta wyłącznie
CLAUDE.md, natywnie nie obsługujeAGENTS.md. - Aby współdzielić jeden plik: dowiąż symbolicznie
AGENTS.mddoCLAUDE.mdlub zaimportuj go przez@AGENTS.md. - Standaryzuj na
AGENTS.md(otwarty standard, 60 tys.+ repo), a potem dodaj nadpisania specyficzne dla narzędzi.
Który format konfiguracji wybrać? Decyzja w 30 sekund
Wybieraj format według kształtu zespołu, nie według hype'u. Jeśli używasz jednego narzędzia — korzystaj z jego natywnego pliku. Jeśli używasz dwóch lub więcej — przyjmij AGENTS.md jako źródło prawdy i dodawaj nadpisania per narzędzie tylko tam, gdzie dane narzędzie potrzebuje czegoś, czego inne nie potrzebują. Ta jedna zasada rozwiązuje większość zamieszania.
| Twoja konfiguracja | Użyj tego | Dlaczego |
|---|---|---|
| Solo, tylko Cursor | .cursor/rules/*.mdc | Zakres glob, cztery typy reguł, natywne |
| Solo, tylko Claude Code | CLAUDE.md | Jedyny plik, który Claude Code wczytuje |
| Mieszane narzędzia (Cursor + Claude Code + Codex) | AGENTS.md + symlink/import | Jeden plik, każde narzędzie go czyta |
| Monorepo, wiele podprojektów | AGENTS.md, zagnieżdżone per pakiet | Najbliższy plik wygrywa, podfoldery opisują się same |
Nadal decydujesz, którego asystenta uruchomić, zanim zaczniesz martwić się jego konfiguracją? Zacznij od naszego przewodnika po wyborze agenta AI do kodowania, a potem wróć po konfigurację plików.
Oś decyzyjna, która się liczy, to przenośność. Plik .cursor/rules jest potężny wewnątrz Cursora i bezużyteczny wszędzie indziej. AGENTS.md podróżuje. Więc chyba że jesteś przywiązany do jednego narzędzia na zawsze — plik niezależny od narzędzia to bezpieczniejszy wybór.
Czym właściwie jest każdy z formatów (w 30 sekund)
Wszystkie trzy pliki robią jedno: przekazują narzędziu AI do kodowania reguły, konwencje i pułapki Twojego projektu, zanim napisze choćby linijkę. Różnica polega na tym, kto je czyta i jak określają zakres. Oto wersja skrócona. Szczegółowe how-to dla każdego z nich znajdziesz w osobnym przewodniku.
Cursor Rules to pliki .mdc w katalogu .cursor/rules/. Cursor obsługuje cztery typy reguł (zawsze aktywne, żądane przez agenta, z zakresem glob i ręczne przez @-wzmiankę), więc możesz przypisać regułę tylko do plików *.tsx albo tylko do migracji. Po szczegóły o frontmatterze, globach i budżecie tokenów zajrzyj do naszego przewodnika po pisaniu plików .cursor/rules w praktyce.
CLAUDE.md to plik pamięci Claude Code. Claude wspina się po drzewie katalogów od folderu roboczego i konkatenuje każdy napotkany CLAUDE.md. To czysty Markdown, bez wymaganego frontmatteru. Po strukturę i zasady, dzięki którym Claude go nie zignoruje, zobacz co sprawia, że CLAUDE.md nie zostanie zignorowany.
AGENTS.md to otwarty standard. Jeden plik w czystym Markdownie w katalogu głównym repo, czytany natywnie przez Cursor, Codex, Copilot, Windsurf, Zed, Aider i dziesiątki innych. Zarządzany przez Agentic AI Foundation, obecny już w ponad 60 000 projektów.
Oto zmiana perspektywy, którą warto zapamiętać: AGENTS.md, CLAUDE.md i .cursor/rules nie są konkurentami — to ta sama instrukcja, zaadresowana do różnych odbiorców.
Cursor Rules vs CLAUDE.md vs AGENTS.md: Porównanie ogólne
Najszybszy sposób, żeby zobaczyć różnice — zestawienie obok siebie. Decydująca kolumna to przenośność: które narzędzia czytają plik bez dodatkowej konfiguracji. AGENTS.md wygrywa zasięgiem, Cursor Rules wygrywają precyzją zakresu, a CLAUDE.md wygrywa dla każdego, kto postawił wszystko na Claude Code.
| Format | Ścieżka pliku | Narzędzia, które go czytają | Zakres | Model pierwszeństwa | Przenośność |
|---|---|---|---|---|---|
| Cursor Rules | .cursor/rules/*.mdc | Tylko Cursor | Zakres glob, cztery typy reguł | Team → Project → User, scalane | Niska (tylko Cursor) |
| CLAUDE.md | CLAUDE.md (dowolny katalog) | Tylko Claude Code | Przechodzenie po katalogach, konkatenacja | Addytywny, najbliższy plik wygrywa | Niska (tylko Claude) |
| AGENTS.md | AGENTS.md (root + podkatalogi) | Cursor, Codex, Copilot, Windsurf, Zed, Aider i 20+ | Cały projekt lub zagnieżdżony | Najbliższy plik w drzewie wygrywa | Wysoka (otwarty standard) |
| .cursorrules (legacy) | .cursorrules (root) | Cursor (nieudokumentowane) | Pojedynczy plik w root | Tylko root | Niska, soft-deprecated |
| SKILL.md (wschodzący) | .claude/skills/*/SKILL.md | Claude (Skills) | Na żądanie, wyzwalany zadaniem | Wczytywany przy wywołaniu | Specyficzny dla Claude, ewoluuje |
Zwróć uwagę na wiersz .cursorrules. Ten pojedynczy plik w root nadal działa w Cursor, ale zniknął z dokumentacji, więc traktuj go jako legacy. Nowe projekty powinny używać .cursor/rules/*.mdc lub AGENTS.md.
Które narzędzie czyta który plik? (Obalamy mit o AGENTS.md)
Oto fakt, w którym połowa internetu się myli: Claude Code nie czyta AGENTS.md natywnie, a Cursor nie czyta CLAUDE.md. Cursor czyta .cursor/rules/*.mdc plus AGENTS.md. Claude Code czyta CLAUDE.md i nic poza tym. W żadną stronę nie ma automatycznego fallbacku, co potyka zespoły zakładające, że jeden standardowy plik pokrywa wszystko.
To pytanie pada nieustannie, więc bądźmy bezpośredni. Wrzucenie AGENTS.md do projektu Claude Code samo w sobie nic nie daje. Claude Code czyta CLAUDE.md i wyłącznie CLAUDE.md. Dokumentacja pamięci Claude Code od Anthropic opisuje zachowanie wczytywania plików bez wzmianki o AGENTS.md, specyfikacja AGENTS.md wymienia Cursor i Codex wśród natywnych czytelników, ale nie Claude Code, własna dokumentacja reguł Cursora potwierdza ten podział, a issue na GitHubie Claude Code są pełne deweloperów uderzających dokładnie w tę ścianę.

Czyli Cursor czyta claude.md? Nie. Czy Claude Code czyta agents.md? Nie bez pomocy. Ta „pomoc" to cały powód istnienia tego wpisu — i są to dwie krótkie komendy, które zobaczysz za chwilę.
Jak działają pierwszeństwo i zagnieżdżanie — obok siebie
Każde narzędzie rozwiązuje konflikty inaczej, a pomyłka tutaj to główne źródło zamieszania typu „dlaczego moja reguła jest ignorowana?". Cursor scala reguły według priorytetu źródła. Claude Code konkatenuje według głębokości katalogu. AGENTS.md wybiera najbliższy plik w drzewie. Dobre claude md management zaczyna się od zrozumienia, w którym modelu mentalnym jesteś.
| Narzędzie | Jak wczytuje | Zwycięzca konfliktu |
|---|---|---|
| Cursor | Reguły Team, Project i User scalane razem | Wcześniejsze źródło (Team) wygrywa |
| Claude Code | Wspina się od cwd, konkatenuje każdy CLAUDE.md | Najbliższy/najbardziej szczegółowy plik wygrywa; plik zarządzany wczytywany pierwszy |
| AGENTS.md | Czyta najbliższy AGENTS.md w drzewie katalogów | Plik najbliższy katalogowi roboczemu wygrywa |
W naszej konfiguracji praktyczny wniosek jest prosty: szerokie reguły umieszczaj wysoko (root repo), a szczegółowe nisko (wewnątrz folderu pakietu). Zarówno dla Claude Code, jak i AGENTS.md plik najbliższy miejscu, w którym pracujesz, ma priorytet, więc packages/api/AGENTS.md nadpisuje root dla wszystkiego wewnątrz tego folderu. Cursor jest wyjątkiem — rozwiązuje konflikty według warstwy źródła, a nie głębokości folderu.
Przepuściliśmy jedną konfigurację przez Cursor + Claude Code — oto co każde narzędzie faktycznie wczytało
Testowaliśmy to na żywym repo klienta Techsy (backend Next.js 15), używając Cursor 3.7 (build z 17 czerwca 2026) i Claude Code v2.1.x (początek lipca 2026). Jeden AGENTS.md, trzy konfiguracje współdzielenia, ten sam prompt otwarty w obu narzędziach. Oto dokładnie, co każde z nich pobrało.
Zaczęliśmy od minimalnego pliku:
# AGENTS.md
- Package manager: pnpm, never npm.
- Tests: Vitest. Run `pnpm test` before any commit.
- DB access goes through `lib/db.ts` only, no inline SQL.Konfiguracja 1: Sam AGENTS.md. Cursor podchwycił go natychmiast. Plik pojawił się w jego kontekście i poprawnie odmówił sugerowania npm install. Claude Code nie zrobił z nim nic. Uruchomienie /memory w Claude Code wylistowało zero plików pamięci projektu: nie znaleziono CLAUDE.md, a AGENTS.md nie został nawet potwierdzony. Potwierdzone: brak natywnego fallbacku.
Konfiguracja 2: Symlink. Skierowaliśmy CLAUDE.md na ten sam plik:
ln -s AGENTS.md CLAUDE.mdTeraz /memory w Claude Code wylistowało ./CLAUDE.md jako pamięć projektu, a wczytana treść była naszym AGENTS.md bajt po bajcie. Cursor nadal czytał AGENTS.md bezpośrednio. Jeden fizyczny plik, oba narzędzia zadowolone. Na Windowsie wymaga to włączonego trybu administratora lub trybu deweloperskiego, inaczej ln/mklink cicho zawodzi.
Konfiguracja 3: @import. Usunęliśmy symlink i zamiast tego umieściliśmy jedną linię na samym początku prawdziwego CLAUDE.md:
@AGENTS.md/memory pokazało wtedy CLAUDE.md jako wczytany plik, z AGENTS.md pulled in jako zaimportowana referencja pod nim. To jest ścieżka, którą Anthropic faktycznie dokumentuje, i nie wymaga specjalnych uprawnień systemowych.
Werdykt z naszego testu: symlink sprawia, że Claude Code czyta AGENTS.md bajt po bajcie; import @AGENTS.md to wersja bezpieczna na Windowsie, którą Anthropic faktycznie rekomenduje. Oba dają jedno źródło prawdy. Wybierz symlink na macOS/Linux dla zerowej pośredniości albo linię importu, jeśli ktokolwiek w zespole jest na Windowsie.
Migracja między formatami: .cursorrules → .cursor/rules → AGENTS.md
Większość zespołów trafia tu z legacy plikiem .cursorrules i chce wyjść z pułapki jednego pliku. Migracja jest krótka w każdym kierunku, a ruchy to kopiuj-wklej. Jedna pułapka, która kąsa: plik .md wewnątrz .cursor/rules bez frontmatteru jest cicho ignorowany, więc musi mieć rozszerzenie .mdc.
Aby zmodernizować stary .cursorrules, masz dwie czyste ścieżki:
- Do
.cursor/rules/*.mdc: utwórz.cursor/rules/general.mdc, dodaj frontmatter (alwaysApply: truedla reguły globalnej) i wklej starą treść pod nim. Po weryfikacji usuń.cursorrules. - Do
AGENTS.md(rekomendowane dla zespołów wielonarzędziowych): aby przekonwertować cursorrules na agents.md, skopiuj treść.cursorrulesdo nowegoAGENTS.mdw katalogu głównym repo. Frontmatter niepotrzebny — to czysty Markdown. Potem dodaj symlink lub import@AGENTS.md, żeby Claude Code też go czytał.
Jeśli zostajesz w Cursorze i chcesz wycisnąć z niego więcej, nasz przewodnik po efektywniejszym korzystaniu z Cursora na co dzień omawia zakresowanie reguł w praktyce.
W drugą stronę (AGENTS.md → CLAUDE.md) to po prostu symlink lub import z poprzedniej sekcji. Nie ma stratnej konwersji, bo wszystkie trzy to pod spodem Markdown.
Gdzie pasują SKILL.md i instrukcje Copilot?
W tej rozmowie pojawiają się jeszcze dwa formaty, a skills md to teraz popularne wyszukiwanie, więc warto je szybko umiejscowić. Żaden nie zastępuje trzech głównych plików — funkcjonują obok nich.
SKILL.md to format Skills od Anthropic: instrukcje specyficzne dla zadania, opakowane w .claude/skills/*/SKILL.md, które Claude wczytuje na żądanie, gdy zadanie pasuje — zamiast zawsze aktywnych jak CLAUDE.md. Myśl o tym jak o specjalistycznym playbooku, po który Claude sięga, a nie pliku pamięci całego projektu. Zakres wciąż ewoluuje, więc nie inwestuj jeszcze za dużo. Po to, jak to pasuje do realnego workflow, zobacz gdzie CLAUDE.md pasuje w realnym workflow Claude Code.
Instrukcje Copilot żyją w .github/copilot-instructions.md dla GitHub Copilot. Dobra wiadomość: Copilot też czyta AGENTS.md, więc jeśli zestandaryzowałeś na otwartym standardzie, Copilot jest już obsłużony bez osobnego pliku.
Którego użyć? (Według kształtu zespołu)
Dopasuj format do tego, jak Twój zespół faktycznie pracuje:
- Solo, użytkownik Claude Code: po prostu używaj
CLAUDE.md. Nie ma powodu dodawać AGENTS.md, chyba że planujesz później włączyć Cursor lub Codex. - Solo, użytkownik Cursora:
.cursor/rules/*.mdcdla zakresu glob albo pojedynczyAGENTS.md, jeśli chcesz przenośność od dnia pierwszego. - Zespół wielonarzędziowy: jeden
AGENTS.mdjako źródło prawdy, dowiązany symbolicznie lub zaimportowany doCLAUDE.md. Dodaj mały plik.cursor/rulestylko dla zachowań specyficznych dla Cursora. - Monorepo:
AGENTS.mdw root plus zagnieżdżone pliki per pakiet, żeby każdy podprojekt opisywał się sam, a najbliższy plik wygrywał.
W Techsy standaryzujemy konfigurację AI-coding w zespołach wielonarzędziowych — zazwyczaj jeden AGENTS.md jako źródło prawdy z nadpisaniami per narzędzie tam, gdzie narzędzie ich potrzebuje. Jeśli Twój zespół ręcznie żongluje trzema plikami konfiguracyjnymi, umów się na bezpłatną konsultację, a my to rozplanujemy.
Jedna ostatnia wskazówka: ten wpis porównuje pliki konfiguracyjne. Jeśli tak naprawdę próbujesz wybrać między samymi narzędziami, przeczytaj porównanie samych asystentów, nie ich konfiguracji.
O autorze
Mert Batur Gurbuz jest współzałożycielem Techsy.io, gdzie zespół dostarcza agentów AI, systemy automatyzacji i pipeline'y głosowe/SDR dla klientów B2B. Studiuje na University of Birmingham i pisze o stosie narzędzi LLM, którego zespół Techsy faktycznie używa w produkcji.
Współzałożyciel, Techsy.io · University of Birmingham · LinkedIn
Często zadawane pytania
Czy Cursor czyta CLAUDE.md?
Nie. Cursor czyta .cursor/rules/*.mdc i AGENTS.md natywnie, ale CLAUDE.md nie jest nigdzie wspomniany w dokumentacji Cursora i nie jest wczytywany. Jeśli jesteś na Cursorze i chcesz współdzielić konfigurację z użytkownikami Claude Code, umieść reguły w AGENTS.md (który Cursor czyta), a nie w CLAUDE.md.
Czy Claude Code czyta AGENTS.md?
Nie natywnie. Claude Code czyta wyłącznie CLAUDE.md, bez automatycznego fallbacku do AGENTS.md. Żeby to zadziałało, albo dowiąż pliki symbolicznie (ln -s AGENTS.md CLAUDE.md), żeby Claude czytał AGENTS.md bajt po bajcie, albo dodaj @AGENTS.md w linii 1 pliku CLAUDE.md, aby go zaimportować. Import to rekomendowana przez Anthropic, bezpieczna na Windowsie opcja.
Czy mogę po prostu używać jednego pliku dla wszystkich trzech narzędzi?
Tak. Przyjmij AGENTS.md jako jedyne źródło prawdy — Cursor i Codex czytają go bezpośrednio. Dla Claude Code dodaj jeden most: albo symlink AGENTS.md do CLAUDE.md, albo wrzuć @AGENTS.md na górę CLAUDE.md. Utrzymujesz jeden plik, a każde narzędzie wczytuje te same reguły. To cała recepta na współdzielenie jednej konfiguracji.
Czy .cursorrules jest deprecated?
Soft-deprecated. Pojedynczy plik .cursorrules w katalogu głównym repo nadal działa w Cursor, ale nie ma go już w oficjalnej dokumentacji, co jest zwykłym sygnałem, że format odchodzi. Nowe projekty powinny używać .cursor/rules/*.mdc dla reguł z zakresem lub AGENTS.md dla przenośności.
Jak przekonwertować .cursorrules na AGENTS.md?
Skopiuj treść pliku .cursorrules do nowego AGENTS.md w katalogu głównym repo. To czysty Markdown, więc frontmatter ani przeformatowanie nie są potrzebne. Potem dodaj symlink lub import @AGENTS.md, żeby Claude Code też go czytał, i usuń stary .cursorrules, gdy potwierdzisz, że Cursor podchwytuje nowy plik.
Jaka jest różnica między CLAUDE.md a AGENTS.md?
CLAUDE.md to własnościowy plik pamięci Claude Code, czytany wyłącznie przez Claude Code. AGENTS.md to otwarty standard czytany przez Cursor, Codex, Copilot i ponad 20 innych narzędzi, ale nie przez Claude Code natywnie. Ten sam format Markdown, to samo zadanie. Różnica to zasięg. AGENTS.md podróżuje między narzędziami; CLAUDE.md zostaje wewnątrz Claude Code.
Na którym formacie powinien standaryzować zespół używający wielu narzędzi AI?
AGENTS.md. To otwarty standard, czytany natywnie przez większość narzędzi i obecny już w ponad 60 000 repo. Zestandaryzuj wspólne reguły tam, zmostkuj do Claude Code przez symlink lub import, a małe pliki specyficzne dla narzędzi (jak .cursor/rules) dodawaj tylko tam, gdzie jedno narzędzie potrzebuje zachowania, którego inne nie potrzebują.
Jak działa pierwszeństwo, gdy mam zagnieżdżone pliki konfiguracyjne?
Zarówno dla Claude Code, jak i AGENTS.md plik najbliższy katalogowi roboczemu wygrywa, więc reguła w packages/api/AGENTS.md nadpisuje plik w root repo dla wszystkiego wewnątrz tego folderu. Cursor jest inny: scala reguły Team, Project i User według warstwy źródła, a nie głębokości folderu, przy czym wcześniejsze źródła wygrywają konflikty.
Gdzie pasuje SKILL.md?
SKILL.md to wschodzący format Skills od Anthropic: instrukcje specyficzne dla zadania w .claude/skills/*/SKILL.md, które Claude wczytuje na żądanie, gdy zadanie pasuje — zamiast zawsze aktywnych jak CLAUDE.md. Uzupełnia CLAUDE.md, a nie go zastępuje. Zakres wciąż ewoluuje w 2026, więc traktuj go jako specjalistyczny dodatek, a nie czwarty plik, którego potrzebuje każdy projekt.