Blog

Ena datoteka z navodili za Claude Code, Codex in Cursor leta 2026

Markdown

En sam vir resnice za Claude Code, Codex in Cursor leta 2026: kdaj Claude Code sam prebere AGENTS.md, uvoz @AGENTS.md v CLAUDE.md, simbolična povezava in /init.

Preberi celoten članek

Informacije o storitvi najdete v dokumentaciji Ailoot.

Kaj se spremeni, ko skupaj uporabljate Claude Code, Codex in Cursor?

Ključna ugotovitev

Leta 2026 tipična postavitev vibe coderja ne uporablja enega orodja, temveč 3–5. Claude Code je glavno orodje, Codex je namenjen dolgim avtonomnim opravilom, Cursor pa hitrim popravkom v IDE-ju. Vsako ima svojo datoteko z navodili: CLAUDE.md, AGENTS.md, .cursorrules. Če jih ročno ohranjate usklajene, isto vrstico uredite na petih mestih, pozabite posodobiti Cursor, čez teden dni pa Claude in Codex na isti poziv odgovorita različno.

V opisanem primeru je glavno orodje Claude Code, Codex in Cursor pa se uporabljata za posebna opravila. Moj CLAUDE.md vsebuje približno 250 vrstic navodil: kaj prebrati in v kakšnem vrstnem redu, česa se ne smem dotakniti, katere ukaze uporabiti za namestitev ter kakšna so pravila za oblikovanje commitov. Ko sem v projektu prvič preizkusil Codex CLI, ni poznal nobenih pravil: izvedel je git push --force, brskal po .env in malomarno preimenoval datoteke.

Najprej sem ročno kopiral CLAUDE.md v AGENTS.md. Dva tedna pozneje sem ugotovil, da so v projektu že štiri različice istih navodil: v CLAUDE.md, AGENTS.md, .cursorrules in .windsurf/rules/. Vse so se nekoliko razlikovale. To ni težava Claudea ali Cursora, temveč osnovna past vsakega sistema z več viri resnice. O tem podrobneje pišem v vodniku za delo z več agenti.

Junija 2026 je Anthropicova dokumentacija o pomnilniku Claude Code ponudila en odgovor: skupna datoteka in uvoz. Od septembra 2026 Claude Code sam prebere AGENTS.md, če projekt nima datoteke CLAUDE.md; uvoz je potreben, kadar imate pravila, namenjena posebej Claudu. Spodaj pojasnim, kdaj zadostuje ena sama datoteka AGENTS.md, kako nastaviti uvoz in kako ločiti skupna pravila od pravil, specifičnih za Claude.

Ali Claude Code sam prebere AGENTS.md?

Ključna ugotovitev

Da, od različice 2.1.277, izdane 18. septembra 2026, vendar le, če v delovnem imeniku ali katerem od njegovih nadrejenih imenikov ni datoteke CLAUDE.md, .claude/CLAUDE.md ali CLAUDE.local.md. Če CLAUDE.md obstaja, Claude Code privzeto prebere samo to datoteko, AGENTS.md pa vključite z vrstico @AGENTS.md v datoteki CLAUDE.md ali s simbolično povezavo. Vedenje lahko spremenite v razdelku Project instructions pod /config. Pred septembrom Claude Code datoteke AGENTS.md sploh ni bral, zato je bil uvoz edina možnost.

Pred septembrom 2026 je bil odgovor »ne«. Issue #6235, v katerem so zahtevali podporo za AGENTS.md, je bil odprt od avgusta 2025 in zaprt 17. avgusta 2026. Dokumentacija o pomnilniku je ves ta čas priporočala eno rešitev: ustvarite CLAUDE.md in vanj kot uvoz vključite AGENTS.md. Od različice 2.1.277 dokumentacija pravi nekaj drugega:

Claude Code lahko kot projektna navodila bere AGENTS.md, zato skladišče, že nastavljeno za druge agente, deluje brez datoteke CLAUDE.md, uvoza ali konfiguracije.

— Anthropic, https://code.claude.com/docs/en/memory#agents-md

Kaj natančno Claude Code prebere, je odvisno od tega, katere datoteke so v projektu:

Datoteke v projektuKaj prebere Claude Code
AGENTS.md, brez CLAUDE.md ali CLAUDE.local.md v delovnem imeniku ali nad njimAGENTS.md
AGENTS.md in CLAUDE.md (ali CLAUDE.local.md) v delovnem imeniku ali nad njimSamo CLAUDE.md
CLAUDE.md z vrstico @AGENTS.mdCLAUDE.md in AGENTS.md v njem prek uvoza

Pri tem preverjanju štejejo datoteke CLAUDE.md, .claude/CLAUDE.md in CLAUDE.local.md v delovnem imeniku in katerem koli imeniku nad njim. Osebna datoteka ~/.claude/CLAUDE.md, upravljana korporativna datoteka in pravila iz .claude/rules/ ne štejejo: naložijo se skupaj z AGENTS.md.

Če datoteke CLAUDE.md ni, Claude Code ob zagonu prebere vse datoteke AGENTS.md in .claude/AGENTS.md v delovnem imeniku in nad njim, datoteko AGENTS.md v podimeniku pa zazna, ko odpre datoteko v tem podimeniku. Delujejo tudi uvozi @path znotraj datoteke AGENTS.md. Claude Code ne bere datotek AGENTS.local.md, AGENTS.override.md ali vsebine imenika .agents/.

Pozor: šteje tudi osebna datoteka CLAUDE.local.md. Če jo ustvarite, da bi shranili svoja neobjavljena pravila, Claude Code tiho preneha brati AGENTS.md. Rešitev je spodnja nastavitev.

Vedenje lahko spremenite v razdelku Project instructions pod /config:

NastavitevKaj prebere Claude Code
claude-md-or-agents-md (privzeto)CLAUDE.md ali, če ne obstajata niti ta niti CLAUDE.local.md, AGENTS.md
claude-md-and-agents-mdObe datoteki: v vsakem imeniku najprej CLAUDE.md, nato AGENTS.md
claude-mdSamo CLAUDE.md
managed-onlySamo upravljano korporativno datoteko CLAUDE.md in samodejni pomnilnik

Če želite obdržati CLAUDE.local.md, ne da bi izgubili AGENTS.md, nastavite claude-md-and-agents-md. Podvajanja ne bo: če je AGENTS.md že vključen prek vrstice @AGENTS.md ali simbolične povezave, ga Claude Code ne naloži še enkrat, ne glede na nastavitev.

Ali je bila datoteka zaznana, lahko preverite z ukazom /memory: od različice 2.1.280 se pot do AGENTS.md pojavi na seznamu. V različicah pred 2.1.277 in sejah, v katerih je vgrajeni vtičnik agents-md onemogočen, Claude Code bere samo CLAUDE.md, v /config pa ni možnosti Project instructions. Pred različico 2.1.281 so enako delovale tudi seje prek Amazon Bedrock in seje z onemogočeno telemetrijo. V prvi seji po posodobitvi s starejše različice se AGENTS.md morda prav tako ne bo zaznal; delovati začne v naslednji seji.

Kaj to pomeni za nastavitev z eno datoteko? Če nimate pravil, namenjenih posebej Claudu, lahko izpustite CLAUDE.md: AGENTS.md zadostuje in prebrali jo bodo Claude Code, Codex in Cursor. Če takšna pravila imate (plan mode za tvegane imenike, skills, hooks), potrebujete CLAUDE.md, Claude Code pa bo prenehal samostojno brati AGENTS.md. Nato vključite AGENTS.md v CLAUDE.md z vrstico @AGENTS.md; ta nastavitev deluje enako kot pred septembrom. Pomaga tudi pri starejših različicah Claude Code. Podrobnosti pojasnim spodaj.

Kako uvoziti @AGENTS.md v CLAUDE.md?

Ključna ugotovitev

Uvoz je potreben, kadar ima projekt datoteko CLAUDE.md: če je ta prisotna, Claude Code privzeto ne bere sam datoteke AGENTS.md. Nastavite ga tako, da na vrh datoteke CLAUDE.md zapišete vrstico @AGENTS.md. Ko Claude Code začne sejo, na mesto te vrstice vstavi vsebino datoteke AGENTS.md in nastalo besedilo prebere kot celoto. Pod uvoz lahko dodate razdelek »Claude Code« s pravili, ki veljajo samo za Claude. Uvozi podpirajo relativne in absolutne poti ter so lahko ugnezdeni do štirih ravni.

Minimalni delujoči primer iz uradne dokumentacije:

@AGENTS.md

## Claude Code

Use plan mode for changes under `src/billing/`.

Tako deluje. Prva vrstica, @AGENTS.md, je direktiva za uvoz. Ko Claude Code na začetku seje razčleni CLAUDE.md, najde ta uvoz in na njegovo mesto vstavi celotno vsebino AGENTS.md. Sledi naslov ## Claude Code: to je navaden markdown, ki služi kot razdelek »dodatna pravila za Claude«. Pod njim je pravilo, ki velja samo za Claude Code: pri spremembah v imeniku billing uporabi plan mode. Codex CLI ali Cursor te datoteke sploh ne odpreta; uporabljata navadni AGENTS.md.

Citat iz dokumentacije o delovanju uvozov:

Datoteke CLAUDE.md lahko uvozijo dodatne datoteke s sintakso @path/to/import. Uvožene datoteke se razširijo in ob zagonu seje naložijo v kontekst skupaj z datoteko CLAUDE.md, ki se nanje sklicuje.

— Anthropic, https://code.claude.com/docs/en/memory

Nekaj praktičnih podrobnosti:

  • Relativne in absolutne poti. @AGENTS.md je relativna pot glede na datoteko, ki vsebuje uvoz. @/Users/me/shared/rules.md ali @~/.claude/personal.md sta absolutni poti. @~/.claude/personal.md uporabljam za osebne nastavitve, ki jih ne želim dodati v skladišče.
  • Globina štirih korakov. AGENTS.md lahko uvozi @docs/coding-style.md, datoteka coding-style.md pa lahko uvozi drugo datoteko, skupaj do štirih ravni. To zadostuje za vsako dejansko strukturo.
  • Ograjeni narekovaji preprečijo uvoz. Če besedilo vsebuje `@README`, gre zgolj za omembo imena, ne za uvoz. To je uporabno, ko bralcem razlagate delovanje uvozov, ne da bi ga sprožili.
  • Odobritev za datoteke zunaj projekta. Če uvoz kaže zunaj delovnega imenika, kot pri @~/.claude/personal.md, Claude Code ob prvi uporabi prikaže pogovorno okno s seznamom teh datotek. Če ga zavrnete, zunanji uvozi ostanejo onemogočeni, pogovorno okno pa se ne prikaže več. @AGENTS.md v korenu projekta ne sproži pogovornega okna. To vas ščiti pred nenamernim nalaganjem nepovezane datoteke v kontekst.

Ko sem v opisanem projektu prešel na to nastavitev, se je moj CLAUDE.md skrajšal z 250 na 60 vrstic: @AGENTS.md in pet do sedem pravil, ki veljajo samo za Claude Code (plan mode za tvegane imenike, česa se ne dotikati v skrbniškem območju in kako oblikovati commite). Vsa skupna pravila so v AGENTS.md, ki jo bereta Codex in Cursor.

Kdaj izbrati simbolično povezavo in kdaj uvoz?

Ključna ugotovitev

Anthropic ponuja dva načina: uvoz prek @AGENTS.md ali simbolično povezavo ln -s AGENTS.md CLAUDE.md. Simbolična povezava je preprostejša—gre zgolj za vzdevek in ne zahteva sprememb datotek. Ima pa tri pomanjkljivosti: Windows zahteva skrbniške pravice, v CLAUDE.md ne morete dodati pravil, specifičnih za Claude, Git pa včasih simbolično povezavo v diffu prikaže kot nesmiselno vsebino. Uvoz je univerzalna rešitev. Če nimate pravil, namenjenih posebej Claudu, od različice 2.1.277 ne potrebujete ne enega ne drugega: Claude Code bo sam prebral AGENTS.md.

Dokumentacija možnost s simbolično povezavo pokaže takole:

ln -s AGENTS.md CLAUDE.md

Nato takoj poda odkrito opozorilo glede sistema Windows:

Če vi ali kdorkoli, ki klonira skladišče, uporablja Windows, uporabite uvoz @AGENTS.md. Ustvarjanje simbolične povezave tam zahteva skrbniške pravice ali Developer Mode, Git brez omogočene možnosti core.symlinks pa potrjeno povezavo prenese kot navadno besedilno datoteko, zato dobite enovrstično datoteko CLAUDE.md namesto navodil v tej kopiji.

— Anthropic, https://code.claude.com/docs/en/memory

Primerjalna tabela:

MeriloUvoz @AGENTS.mdSimbolična povezava ln -s
Deluje v sistemu Windows brez skrbniških pravicdane (potreben je Developer Mode)
Dodajanje pravil samo za Claudeda, pod uvozomne, datoteka je enaka
V Gitu se prikaže kot navaden markdowndakot povezava (odvisno od core.symlinks)
Uvoz več datotekda, do štirih ravnine, povezava ena proti ena
Predpomnjenje/invalidation v Claude Codeobičajno za CLAUDE.mddeluje, vendar imajo simbolične povezave metapasti
Privzeta izbiraprimerna za vsesamo če večplatformska uporaba ni pomembna

V opisanem projektu uporabljam uvoze. Razlogi:

  1. Ekipa je mešana. Uporabljam Mac; v tem primeru je ekipa približno enakomerno razdeljena med Windows in Mac. Če je v skladišču simbolična povezava, jo bodo uporabniki sistema Windows brez Developer Mode prenesli kot navadno besedilno datoteko z eno samo vrstico AGENTS.md. To povzroča nenavadne napake: včasih pravila delujejo, včasih ne, vzrok pa ni jasen.
  2. Želim pravila, specifična za Claude. Pod @AGENTS.md ima moj CLAUDE.md razdelek »Claude Code« s pravili: za arhitekturna opravila uporabi --effort high, pred git push zaženi npm run build in ne kliči ročno /api/v1/deploy. Codex teh ukazov ne razume.
  3. Lažje odpravljanje napak. Ko gre kaj narobe, odprem CLAUDE.md in vidim uvoz ter svoje prilagoditve. Pri simbolični povezavi ni oznake »to je bilo dodano tukaj«. Več o odpravljanju napak v nastavitvah Claude Code preberite v vodniku za safe mode.

Če nimate pravil, specifičnih za Claude, simbolična povezava od različice 2.1.277 ni več potrebna: izbrišite CLAUDE.md in Claude Code bo sam prebral AGENTS.md. Simbolično povezavo ohranite le, če kdo v ekipi uporablja različico pred 2.1.277 in je ne more posodobiti. Če imate pravila za Claude, je uvoz v devetih primerih od desetih priročnejši.

Kaj berejo Codex, Cursor, Copilot, Windsurf in Gemini CLI?

Ključna ugotovitev

Vsako orodje bere svojo datoteko, včasih več kot eno. Claude Code bere CLAUDE.md, od septembra 2026 pa tudi AGENTS.md, če projekt nima datoteke CLAUDE.md. Codex CLI bere AGENTS.md in AGENTS.override.md. Cursor bere starejši format .cursorrules ali novejši .cursor/rules/*.mdc, od poletja 2026 pa tudi AGENTS.md. Copilot bere .github/copilot-instructions.md ali .github/instructions/*.instructions.md. Windsurf bere starejši .windsurfrules ali novejši .windsurf/rules/. Gemini CLI bere GEMINI.md. Aider in Cline sta že prevzela AGENTS.md.

Pregled sedmih glavnih orodij (na podlagi uradne dokumentacije posameznega orodja):

OrodjeGlavna datoteka z navodiliAlternativeBere AGENTS.md?
Claude CodeCLAUDE.md~/.claude/CLAUDE.md, ./.claude/CLAUDE.md, upravljani pravilnikda, če projekt nima CLAUDE.md (od 2.1.277), sicer prek uvoza
Codex CLI (OpenAI)AGENTS.mdAGENTS.override.mdda (izvorno)
Cursor.cursor/rules/*.mdc.cursorrules (deprecated)da
GitHub Copilot.github/copilot-instructions.md.github/instructions/*.instructions.mdprek razširitev
Windsurf.windsurf/rules/.windsurfrules (deprecated)da
Gemini CLIGEMINI.md-ne
Aider, Cline, opencodeAGENTS.md-da (izvorno)

Kaj sledi iz tega? Če ima repozitorij AGENTS.md (in po potrebi še CLAUDE.md z uvozom za pravila, specifična za Claude), pet od sedmih orodij samodejno dobi sveža navodila. Cursor in Windsurf, ki imata lastni izvorni datoteki, lahko pustite pri miru (AGENTS.md bereta tudi onidve) ali dodate uvoz @AGENTS.md—vendar se njuna sintaksa razlikuje in ni vedno podprta.

Najpreprostejša strategija za nov projekt:

  1. Vsa skupna pravila zapišite v AGENTS.md—tja sodi 95% pravil.
  2. Ustvarite CLAUDE.md, če potrebujete pravila, namenjena samo Claudu: v prvo vrstico postavite @AGENTS.md, nato pa spodaj dodajte razdelek s pravili za Claude. Če takšnih pravil ni, datoteke CLAUDE.md ne potrebujete; Claude Code od različice 2.1.277 sam bere AGENTS.md.
  3. Ohranite .cursor/rules/ za Cursor za redke primere, ko potrebujete nekaj, specifično za Cursor (ukaza @Codebase in @Docs).
  4. Enako naredite za Windsurf: pozabite na stari .windsurfrules; novi .windsurf/rules/ uporabite samo, če potrebujete vzorce za njegovo sintakso.

Ta pristop prinese 80% koristi z 20% dela. Po mojih izkušnjah je pri urejanju mešanih ekip v »Antigravity« vzdrževanje več kot dveh virov resnice (skupnega in Claude-specifičnega) postalo naporno. Če kdo v ekipi doda pravilo v .cursorrules in pozabi posodobiti AGENTS.md, se Cursor in Codex čez teden dni ne bosta strinjala.

Kako /init v Claude Code uporabi obstoječi AGENTS.md?

Ključna ugotovitev

/init iz že obstoječe vsebine repozitorija ustvari CLAUDE.md in prihrani 20–30 minut ročnega dela. Privzeto upošteva pravila Cursora (.cursor/rules/, .cursorrules) in Copilota (.github/copilot-instructions.md), datoteke AGENTS.md, .windsurfrules in .clinerules pa prebere v načinu CLAUDE_CODE_NEW_INIT=1. Isti način zažene interaktiven večfazni potek: postavlja vprašanja, s podagentom razišče kodo in pred pisanjem predlaga načrt. Od septembra 2026 ima /init v projektu z datoteko AGENTS.md slabo stran: nova datoteka CLAUDE.md onemogoči neposredno branje datoteke AGENTS.md, zato pravila končajo v dveh datotekah.

Anthropic v dokumentaciji /init opisuje takole:

Ukaz /init prebere datoteke z navodili drugih orodij in ustrezne dele prenese v ustvarjeno datoteko CLAUDE.md: pravila Cursora iz .cursor/rules/ ali .cursorrules, pravila Copilota iz .github/copilot-instructions.md, z nastavitvijo CLAUDE_CODE_NEW_INIT=1 pa tudi AGENTS.md, .devin/rules/, .windsurf/rules/ ali .windsurfrules ter .clinerules.

— Anthropic, https://code.claude.com/docs/en/memory

Kaj to pomeni v praksi? Opisani repozitorij je imel datoteko .cursorrules iz časa, ko sem preizkušal Cursor (približno 80 vrstic), in ročno sestavljeno datoteko AGENTS.md (120 vrstic). Ko sem zagnal claude /init, je ukaz uporabil obe datoteki, odstranil podvojena podobna pravila in v minuti sestavil urejeno datoteko CLAUDE.md. Nato sem jo pregledal in nekoliko popravil—odstranil zastarele elemente ter dodal strukturo z naslovi. To je bilo hitreje kot pisanje od začetka.

Interaktivni način, v katerem /init bere tudi AGENTS.md, omogočite s spremenljivko okolja:

CLAUDE_CODE_NEW_INIT=1 claude

Ko se /init zažene, Claude postavi več pojasnjevalnih vprašanj: katere elemente naj konfigurira (CLAUDE.md, skills, hooks), kateri tehnološki sklad uporablja projekt in katere ukaze naj uporablja za teste. Nato podagent razišče kodno zbirko—prebere package.json, README.md in konfiguracijske datoteke—ter dopolni manjkajoče dele. Na koncu prikaže predlog, ki ga lahko pred shranjevanjem uredite. Več o konfiguraciji Claude Code ob začetku projekta preberite v ločenem vodniku.

Zdaj pa slaba stran. Če projekt že vsebuje aktivni AGENTS.md, bo /init poleg njega ustvaril CLAUDE.md s kopijo njegovih pravil. Od takrat Claude Code privzeto bere samo CLAUDE.md, zato imate znova dva vira resnice: vi posodabljate AGENTS.md, Claude pa še naprej uporablja staro kopijo. Ukaz /import naredi nekaj podobnega: v CLAUDE.md doda enkratno kopijo datoteke AGENTS.md. Če želite ohraniti en sam vir, po uporabi /init postavite uvoz @AGENTS.md v prvo vrstico datoteke CLAUDE.md in iz nje odstranite vse, kar ponavlja vsebino datoteke AGENTS.md.

/init je pravo izhodišče za nov projekt ali projekt, ki ga prenašate s Cursora ali Copilota. Na spletu vam ni treba iskati »najboljše predloge CLAUDE.md«—Anthropic že upošteva vsebino repozitorija. Če projekt že ima aktivni AGENTS.md in nima pravil, namenjenih samo Claudu, /init ni potreben: Claude Code bo sam prebral AGENTS.md.

Kako ločiti skupna navodila od navodil, specifičnih za Claude?

Ključna ugotovitev

V AGENTS.md zapišite pravila, ki jih razume kateri koli AI-agent: česa se ne smete dotikati, kako poimenovati veje, da .env vsebuje skrivnost in katere ukaze uporabiti za teste. V CLAUDE.md (pod uvozom) dodajte pravila, specifična za Claude Code: plan mode, skills, hooks, sklice na skills in imena modelov glede na različico. Razlika je preprosta: če se pravilo začne z »Claude naj«, sodi v CLAUDE.md. Če se začne z »Orodje naj«, sodi v AGENTS.md.

Ločujem jih po tem načelu. Skupna pravila, ki sodijo v AGENTS.md:

  • Česa se v kodi ne dotikati. Map .env, node_modules, prisma/migrations (samo prek prisma migrate), .next/ in .git/.
  • Kako poimenovati stvari. Veje: predpone feat/, fix/, chore/. Commity: predpone feat:, fix:, docs: in kratek opis. Datoteke komponent naj uporabljajo kebab-case.
  • Ukazi za testiranje/lint. npm run build, npm run lint, npm test. Kateri ukaz zagnati pred git push.
  • Arhitekturna načela. Kaj sodi v src/lib/, kaj v src/components/, kje je poslovna logika in kje uporabniški vmesnik.
  • Varnost. Nikoli ne commitajte skrivnosti. Do produkcijske podatkovne zbirke dostopajte samo prek prod-psql. Do produkcije prek SSH dostopajte samo z aliasom prod, ne z root@IP.

Pravila, specifična za Claude, ki sodijo v CLAUDE.md (pod @AGENTS.md):

  • Plan mode. Za spremembe v tveganih imenikih (na primer src/billing/) uporabite plan mode.
  • Raven truda. Za arhitekturna opravila uporabite --effort high, za rutinsko delo pa medium.
  • Skills. Katere AI-agente in skills zagnati v posameznih primerih. Na primer: »Pri delu na vodniku zaženite skill build-masterskaya-guide.«
  • Claudeov pomnilnik. Kaj shraniti v samodejni pomnilnik in kaj v CLAUDE.local.md. Več o Claudeovem pomnilniku preberite v vodniku o pomnilniku in CLAUDE.md.
  • Hooks. Če so v .claude/settings.json nastavljeni hooks, v CLAUDE.md opišite, kaj počnejo (Codex in Cursor zanje ne vesta in tega ne potrebujeta).
  • Skills in ukazi. Seznam ukazov s poševnico, ki jih pogosto uporabljam (/init, /cd, /memory, /plan).

Meja ni vedno jasna. »Nikoli ne izvedi git push --force v vejo main« je očitno skupno pravilo, zato sodi v AGENTS.md. Toda »pred ukazom git push v vročo vejo najprej uporabi plan mode« je specifično za Claude Code, zato sodi v CLAUDE.md. Preizkusite tako: »Če bi jutri odstranil Claude Code in obdržal samo Codex, ali bi to pravilo še veljalo?« Če da, ga zapišite v AGENTS.md. Če ne, ga zapišite v CLAUDE.md.

Kaj sodi v AGENTS.md in kaj v CLAUDE.md ali .claude/rules?

Ključna ugotovitev

Za velik projekt ena datoteka AGENTS.md ni dovolj—postane prevelika, vsak agent pa v svoj kontekst vnese nepotrebno gradivo. Rešitev je imenik .claude/rules/ z ločenimi datotekami po temah in YAML-zaglavjem paths: za sprožilce na podlagi poti. Pravilo za API na primer velja samo, ko Claude dela v src/api/. Tako prihranite veliko prostora v kontekstnem oknu. Enakovredna možnost za Cursor je .cursor/rules/, za Windsurf pa .windsurf/rules/.

Če pravila presežejo 200 vrstic, jih je čas razdeliti. Anthropicova dokumentacija priporoča približno 200 vrstic na datoteko, saj Claude pri dolgih datotekah CLAUDE.md začne tiho slabše upoštevati navodila: videti je, da jih prebere, vendar jih upošteva redkeje.

Struktura za velik projekt, ki se je pri meni obnesla:

my-project/
├── AGENTS.md                    # 100-150 lines, shared
├── CLAUDE.md                    # 30-50 lines: @AGENTS.md + Claude-only
└── .claude/
    ├── CLAUDE.md                # alternative to root file, same file
    └── rules/
        ├── api.md               # with paths: ['src/api/**']
        ├── components.md        # with paths: ['src/components/**']
        ├── testing.md           # without paths, always active
        └── security.md          # without paths, always active

Vsaka datoteka v .claude/rules/ lahko vsebuje zaglavje frontmatter:

---
paths:
  - "src/api/**/*.ts"
---

# API rules
- Every endpoint validates input with zod
- Errors use the standard `{error, code}` format
- OpenAPI comments are required

Claude ta pravila naloži samo pri delu z datotekami, ki ustrezajo temu vzorcu. Če spreminja src/components/Button.tsx, se pravila za API ne dodajo v kontekst. Tako se kontekstno okno porabi le za relevantno vsebino. Imenik .claude/rules/ deluje tudi brez CLAUDE.md: če projekt vsebuje samo AGENTS.md, se njegova pravila naložijo skupaj z njo in ne onemogočijo neposrednega branja AGENTS.md.

Cursor in Windsurf podpirata enak pristop prek imenikov .cursor/rules/ in .windsurf/rules/. Standard AGENTS.md se lahko sklicuje na te imenike, vendar sintaksa, skupna različnim orodjem, še ni povsem stabilna. Varneje je skupna pravila ohraniti v AGENTS.md, pravila, omejena na določene poti, pa podvojiti v .claude/rules/ in .cursor/rules/—to so redke posebnosti, ne večina pravil.

Uporabne lokacije za CLAUDE.md (od najširšega do najožjega obsega):

RavenLokacijaNamen
Upravljani pravilnik/Library/Application Support/ClaudeCode/CLAUDE.md (Mac), /etc/claude-code/CLAUDE.md (Linux)Korporativna pravila, IT/DevOps
Uporabnik~/.claude/CLAUDE.mdOsebne nastavitve za vse projekte
Projekt./CLAUDE.md ali ./.claude/CLAUDE.mdPravila projektne ekipe
Lokalno./CLAUDE.local.md (v .gitignore)Osebne nastavitve za posamezen projekt

Datoteka ~/.claude/CLAUDE.md bi lahko vsebovala dve pravili: »odgovarjaj v uporabnikovem prednostnem jeziku« in »Ailoot vedno zapiši natanko tako«. Ti pravili veljata za vsak projekt, zato ju ni treba podvajati v vsakem repozitoriju.

Od teh štirih ravni neposredno branje AGENTS.md onemogočita samo projektna datoteka CLAUDE.md in CLAUDE.local.md. Osebna datoteka ~/.claude/CLAUDE.md in upravljani pravilnik ne ovirata branja; Claude Code ju naloži skupaj z AGENTS.md.

Kaj storiti, če je AGENTS.md v vašem projektu že zastarel?

Ključna ugotovitev

Če je bil AGENTS.md za Codex ali Aider sestavljen že leta 2025 in od takrat ni bil urejen, odprite projekt v Claude Code in prosite Claude, naj uredi datoteko. AGENTS.md je živ dokument; specifikacija Linux Foundation se posodablja. Glavno pravilo za ohranjanje aktualnosti: vsako pravilo mora odgovoriti na vprašanje »Kaj sem naveličan ponavljati Claudu/Codexu?« Če ne, ga arhivirajte.

V opisanem projektu sem imel AGENTS.md iz maja 2025—180 vrstic, med katerimi jih je bilo veliko zastarelih (omenjala je končne točke Anthropic API, ki so se od takrat spremenile; primere s sintakso claude --tools, ki ne obstaja več; ter pravila za ~/.claude/projects/ z zastarelo strukturo).

Za posodobitev sem uporabil ta načrt:

  1. Preglejte ga z ukazom claude v načinu plan mode. Odprem repozitorij, zaženem claude --safe-mode in prosim: “Znova preberi AGENTS.md in predlagaj seznam zastarelih ali podvojenih elementov. Ne urejaj datoteke; samo naštej jih.” V dveh minutah sem dobil seznam 23 elementov za pregled.
  2. Odstranite očitno zastarele elemente. Od 23 elementov jih je bilo 9 očitno zastarelih—sintaksa ukazov, končne točke in imena zastavic. Te vrstice sem izbrisal.
  3. Združite podvojene elemente. Še 6 elementov je z različnimi besedami ponavljalo isto (»ne uporabljaj force-push«, »nikoli ne uporabi --force«, »izogibaj se ukazu git push -f«). Združil sem jih v eno vrstico.
  4. Dodajte nove elemente. Dodal sem stvari, pri katerih sta se Claude/Codex v zadnjem mesecu redno motila, po pravilu »ena vrstica za vsak vzorec napake«. Tako je nastalo 8 novih elementov.
  5. Za končni pregled uporabite podagenta. Clauda sem prosil za pregled z navodilom »poišči protislovja, dvoumnosti in podvojitve«. Našel je tri formulacije, ki bi bile lahko jasnejše. Popravil sem jih.

Po eni uri je imel AGENTS.md 110 vrstic, bil je posodobljen in poznal sem vsako vrstico. Iz njega je bilo lahko sestaviti CLAUDE.md s 30 vrsticami. Codex je bil po tem tudi opazno previdnejši pri testih—sumim, da so nekatere njegove »čudne« odločitve izhajale iz zastarelih pravil, ki jih je v dobri veri upošteval.

Glavna načela za sproti posodobljeno datoteko AGENTS.md:

  • Vsako pravilo odgovarja na ponavljajočo se napako. Če se v enem mesecu na pravilo sploh nisem spomnil, ga ni vredno obdržati.
  • Pravila zapišite kot ukaze, ne kot teorijo. »Uporabljaj dva presledka« je pravilo. »Slog kode naj bo urejen« ni.
  • Konkretno je boljše od splošnega. »Pred git push zaženi npm run build« je pravilo. »Preizkusite spremembe« ni.

Kaj s to nastavitvijo zagotovo NE deluje?

Ključna ugotovitev

Uvoz @AGENTS.md ne povzroči, da bi se različna orodja obnašala enako. Vsako ima svoje posebnosti: Codex CLI ne pozna imenika .claude/rules/ ali hookov. Cursor ima svoj mehanizem za samodokončevanje, ki med dopolnjevanjem besedila ne bere datoteke CLAUDE.md. Copilot upošteva .github/copilot-instructions.md, samo pravila v AGENTS.md pa zanj niso dovolj. To ne pomeni »ena datoteka = eno vedenje«, temveč »en vir osnovnih pravil, nato pa vsako orodje dobi svoje dodatke«.

Nekaj stvari, ki sem se jih v šestih mesecih dela s to nastavitvijo naučil na težji način:

1. Cursorjevo samodokončevanje ne uporablja AGENTS.md. Ko Cursor v urejevalniku predlaga dokončanje vrstice, datoteke AGENTS.md ne bere sproti—za to skrbi ločen hiter mehanizem. Pravila v AGENTS.md so pomembna samo, ko v Cursorju pošljete zahtevo v klepetu. To pomeni, da zapis »ne uporabljaj var, uporabi const« v AGENTS.md ne bo vplival na samodokončevanje; to morate nastaviti prek ESLint ali konfiguracije TypeScript.

2. Hooks Claude Code v AGENTS.md ne delujejo za Codex. Če je v .claude/settings.json nastavljen hook PreToolUse, ki blokira določeno dejanje, je ta podatek uporaben samo za Claude. Codex ne pozna hooks; zanj je to »orodje se odloči samo«. Smiselno je v AGENTS.md zapisati »ne naredi X«, v CLAUDE.md pod uvozom pa »obstaja hook, ki fizično blokira X«.

3. Copilot in .github/copilot-instructions.md. GitHub Copilot bere svojo datoteko in še vedno ne bere dobro AGENTS.md. Če vaša ekipa aktivno uporablja Copilot, dodajte ločeno datoteko .github/copilot-instructions.md s skrajšano različico pravil ali uporabite Copilot Extensions, ki poznajo AGENTS.md. To se hitro spreminja, zato je lahko slika čez tri do šest mesecev drugačna.

4. Git ne zazna simbolične povezave kot spremembe CLAUDE.md. Če zaženete ln -s AGENTS.md CLAUDE.md in teden pozneje posodobite AGENTS.md, bo Git pokazal samo diff za AGENTS.md. To je normalno, vendar sodelavec, ki pregleduje PR, morda ne bo vedel, da je bila posodobljena tudi CLAUDE.md (prek simbolične povezave). Rešitev: v opisu PR izrecno napišite »posodobljen AGENTS.md; Claude Code vidi isto datoteko prek simbolične povezave«.

5. Globoke uvoze je težko razhroščevati. Če AGENTS.md uvozi @docs/coding-style.md, ta pa @docs/typescript.md, pravila pa si nasprotujejo, je odpravljanje napak zahtevno. Uvoze omejujem na eno raven (CLAUDE.md → AGENTS.md) in jih ne gnezdim globlje. Anthropic ponuja hook InstructionsLoaded, ki zabeleži, katere datoteke so bile naložene—uporaben je za odpravljanje napak pri večplastnih nastavitvah. Opomba: hook se sproži za AGENTS.md, vključeno prek uvoza ali simbolične povezave, ne pa za AGENTS.md, ki jo Claude Code prebere sam.

Viri

Celotna postavitev za vibe coding v enem večeru: klon AI + Drugi možgani + inženiring konteksta.

Spoznajte Ailoot.

Več podrobnosti

Vprašanja in odgovori: Ena datoteka z navodili za Claude Code, Codex in Cursor leta 2026

Kdaj uporabim uvoz namesto simbolne povezave?

@AGENTS.md v CLAUDE.md uporabite za dodatna pravila Claude ali sodelavce v Windows. Simbolna povezava obe imeni veže na isto vsebino, zato ne more hraniti ločenega razdelka samo za Claude.

Kako preverim naložena skupna navodila?

Zaženite /memory in preverite navedene datoteke navodil. Če CLAUDE.md ali CLAUDE.local.md v konfiguraciji prepreči neposredno nalaganje AGENTS.md, dodajte uvoz ali izberite nalaganje obeh, nato začnite svežo sejo.

Vsi članki