# Vienas instrukcijų failas Claude Code, Codex ir Cursor 2026 m.

> Vienas Claude Code, Codex ir Cursor informacijos šaltinis 2026 m.: kada Claude Code pats skaito AGENTS.md, kaip importuoti @AGENTS.md į CLAUDE.md, naudoti simbolinę nuorodą ir /init.

Source: https://ailoot.ai/blog/lt/agents-md-claude-md-one-instruction-file/
Canonical: https://ailoot.ai/blog/lt/agents-md-claude-md-one-instruction-file/
Language: lt
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-004
Revision: sha256-1e853ae04a3ab6e8ce7b83ffecca210ff38ba9d2cbfafec9c89ba007f1f7e00b


Informacijos apie paslaugą rasite [Ailoot dokumentacijoje](https://ailoot.ai/docs/).

## Kas pasikeičia, kai kartu naudojate Claude Code, Codex ir Cursor?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Svarbiausia mintis">

Svarbiausia mintis

2026 m. tipinio vibe coderio sąranką sudaro ne vienas, o 3–5 įrankiai. Claude Code naudojamas kaip pagrindinis įrankis, Codex – ilgoms autonominėms užduotims, Cursor – greitiems pakeitimams IDE. Kiekvienas turi savo instrukcijų failą: `CLAUDE.md`, `AGENTS.md`, `.cursorrules`. Jei juos sinchronizuojate rankiniu būdu, tą pačią eilutę redaguojate penkiose vietose, pamirštate atnaujinti Cursor, o po savaitės Claude ir Codex į tą pačią užklausą pateikia skirtingus atsakymus.

</div>

Aprašytame pavyzdyje Claude Code yra pagrindinis įrankis, o Codex ir Cursor naudojami konkrečioms užduotims. Mano `CLAUDE.md` yra apie 250 eilučių instrukcijų: ką ir kokia tvarka skaityti, ko negalima liesti, kokias komandas naudoti diegimui ir kokių laikytis įrašų formato taisyklių. Kai pirmą kartą projekte išbandžiau Codex CLI, jis nežinojo jokių taisyklių: paleido `git push --force`, knaisiojosi po `.env` ir neatsargiai pervadino failus.

Iš pradžių `CLAUDE.md` ranka nukopijavau į `AGENTS.md`. Po dviejų savaičių pastebėjau, kad projekte jau buvo keturios tų pačių instrukcijų versijos: `CLAUDE.md`, `AGENTS.md`, `.cursorrules` ir `.windsurf/rules/`. Visos šiek tiek skyrėsi. Tai ne Claude ar Cursor problema, o įprasti spąstai sistemose, kuriose yra keli pagrindiniai informacijos šaltiniai. Apie šią problemą plačiau rašau [daugelio agentų darbo vadove](https://ailoot.ai/blog/lt/claude-code-codex-together/).

2026 m. birželį Anthropic Claude Code atminties dokumentacijoje pateikė vieną atsakymą: bendras failas ir jo importas. Nuo 2026 m. rugsėjo Claude Code pats skaito `AGENTS.md`, jei projekte nėra `CLAUDE.md`; importo reikia, kai turite būtent Claude skirtų taisyklių. Toliau paaiškinu, kada pakanka vieno `AGENTS.md`, kaip nustatyti importą ir kaip atskirti bendras taisykles nuo skirtų tik Claude.

## Ar Claude Code pats skaito AGENTS.md?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Svarbiausia mintis">

Svarbiausia mintis

Taip, pradedant versija 2.1.277, išleista 2026 m. rugsėjo 18 d., tačiau tik jei darbiniame kataloge arba aukščiau nėra `CLAUDE.md`, `.claude/CLAUDE.md` ar `CLAUDE.local.md`. Jei `CLAUDE.md` yra, Claude Code pagal numatytuosius nustatymus skaito tik šį failą, o `AGENTS.md` įtraukiamas eilute `@AGENTS.md` faile `CLAUDE.md` arba simboline nuoroda. Elgsena keičiama skiltyje Project instructions, esančioje `/config`. Iki rugsėjo Claude Code apskritai neskaitė `AGENTS.md`, tad vienintelis būdas jį įtraukti buvo importuoti.

</div>

Iki 2026 m. rugsėjo atsakymas buvo „ne“. Issue \#6235, kuriame prašyta palaikyti AGENTS.md, buvo atviras nuo 2025 m. rugpjūčio ir uždarytas 2026 m. rugpjūčio 17 d. Visą tą laiką atminties dokumentacijoje buvo nurodomas vienas sprendimas: sukurti CLAUDE.md ir importuoti į jį `AGENTS.md`. Pradedant versija 2.1.277, dokumentacijoje rašoma kitaip:

<figure>
<blockquote>
<p>Claude Code gali skaityti <code>AGENTS.md</code> kaip projekto instrukcijas, todėl kitų agentų naudojimui jau paruošta saugykla veikia ir be <code>CLAUDE.md</code>, importo ar konfigūracijos.</p>
</blockquote>
<figcaption>— Anthropic, https://code.claude.com/docs/en/memory#agents-md</figcaption>
</figure>

Kuriuos failus Claude Code perskaitys, priklauso nuo to, kokie failai yra projekte:

| Projekto failai | Ką skaito Claude Code |
|----|----|
| `AGENTS.md`, kai darbiniame kataloge arba aukščiau nėra `CLAUDE.md` ar `CLAUDE.local.md` | `AGENTS.md` |
| Darbiniame kataloge arba aukščiau yra `AGENTS.md` ir `CLAUDE.md` (arba `CLAUDE.local.md`) | Tik `CLAUDE.md` |
| `CLAUDE.md` su eilute `@AGENTS.md` | `CLAUDE.md` ir per importą į jį įtrauktą `AGENTS.md` |

Šiai patikrai svarbūs `CLAUDE.md`, `.claude/CLAUDE.md` ir `CLAUDE.local.md` darbiniame kataloge bei visuose aukščiau esančiuose kataloguose. Asmeninis `~/.claude/CLAUDE.md`, įmonės valdomas failas ir taisyklės iš `.claude/rules/` neįskaičiuojami: jie įkeliami kartu su `AGENTS.md`.

Jei nėra `CLAUDE.md`, Claude Code paleidimo metu skaito visus darbiniame kataloge ir aukščiau esančius `AGENTS.md` bei `.claude/AGENTS.md` failus, o atidarius failą pakatalogyje – ir jame esantį `AGENTS.md`. `@path` importai `AGENTS.md` faile taip pat veikia. Claude Code neskaito `AGENTS.local.md`, `AGENTS.override.md` ar `.agents/` katalogo turinio.

Štai keblumas: asmeninis `CLAUDE.local.md` taip pat įskaičiuojamas. Sukurkite jį savo neįrašytoms taisyklėms laikyti, ir Claude Code tyliai nustos skaityti `AGENTS.md`. Toliau aprašytas nustatymas tai išsprendžia.

Elgseną galima keisti skiltyje Project instructions, esančioje `/config`:

| Nustatymas | Ką skaito Claude Code |
|----|----|
| `claude-md-or-agents-md` (numatytasis) | `CLAUDE.md`, o jei jo ir `CLAUDE.local.md` nėra – `AGENTS.md` |
| `claude-md-and-agents-md` | Abu failus: kiekviename kataloge pirmiausia `CLAUDE.md`, tada `AGENTS.md` |
| `claude-md` | Tik `CLAUDE.md` |
| `managed-only` | Tik įmonės valdomą `CLAUDE.md` ir automatinę atmintį |

Jei norite išsaugoti `CLAUDE.local.md` ir kartu naudoti `AGENTS.md`, pasirinkite `claude-md-and-agents-md`. Failas nebus perskaitytas du kartus: jei `AGENTS.md` jau įtrauktas eilute `@AGENTS.md` arba simboline nuoroda, Claude Code jo neįkelia dar kartą, nepaisant pasirinkto nustatymo.

Ar failas buvo aptiktas, galite patikrinti komanda `/memory`: pradedant versija 2.1.280, sąraše rodoma `AGENTS.md` failo vieta. Versijose iki 2.1.277 ir seansuose, kuriuose išjungtas integruotasis `agents-md` papildinys, Claude Code skaito tik `CLAUDE.md`, o `/config` nėra elemento Project instructions. Iki versijos 2.1.281 seansai per Amazon Bedrock ir seansai su išjungta telemetrija veikė taip pat. Pirmajame seanse po atnaujinimo iš senesnės versijos `AGENTS.md` taip pat gali būti neaptiktas; nuo kito seanso jis veikia.

Ką tai reiškia, jei norite naudoti vieną failą? Jei neturite tik Claude skirtų taisyklių, galite apsieiti be `CLAUDE.md`: pakanka `AGENTS.md`, kurį skaitys Claude Code, Codex ir Cursor. Jei tokių taisyklių turite (planavimo režimas rizikingiems katalogams, įgūdžiai, kabliai), jums reikia `CLAUDE.md`, ir Claude Code nustos pats skaityti `AGENTS.md`. Tuomet įtraukite `AGENTS.md` į `CLAUDE.md` eilute `@AGENTS.md`; tokia sąranka veikia kaip iki rugsėjo. Ji tinka ir senesnėms Claude Code versijoms. Toliau tai išsamiai paaiškinu.

## Kaip importuoti @AGENTS.md į CLAUDE.md?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Svarbiausia mintis">

Svarbiausia mintis

Importo reikia, kai projekte yra `CLAUDE.md`: jei šis failas yra, Claude Code pagal numatytuosius nustatymus pats neskaito `AGENTS.md`. Norėdami tai nustatyti, įrašykite eilutę `@AGENTS.md` į `CLAUDE.md` failo pradžią. Pradėdamas seansą Claude Code vietoje šios eilutės įterpia `AGENTS.md` turinį ir skaito rezultatą kaip vieną tekstą. Po importo galite pridėti skiltį „Claude Code“ su tik Claude taikomomis taisyklėmis. Importai veikia su santykiniais ir absoliučiaisiais keliais, juos galima įdėti vieną į kitą iki keturių lygių gyliu.

</div>

Minimalus veikiantis pavyzdys iš oficialios dokumentacijos:

```markdown
@AGENTS.md

## Claude Code

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

Štai kas vyksta. Pirma eilutė `@AGENTS.md` yra importo direktyva. Pradėdamas seansą Claude Code analizuoja `CLAUDE.md`, aptinka importą ir jo vietoje įterpia visą `AGENTS.md` turinį. Toliau pateikta antraštė `## Claude Code` yra tiesiog Markdown, tačiau ji žymi skiltį „papildomos taisyklės tik Claude“. Po ja pateikta taisyklė taikoma tik Claude Code: naudoti planavimo režimą keičiant failus atsiskaitymų kataloge. Codex CLI ar Cursor šio failo neatidaro; jie naudoja paprastą `AGENTS.md`.

Citata iš dokumentacijos apie importų veikimą:

<figure>
<blockquote>
<p>CLAUDE.md failai gali importuoti papildomus failus naudodami sintaksę <code>@path/to/import</code>. Importuoti failai išplečiami ir įkeliami į kontekstą seanso pradžioje kartu su juos nurodančiu CLAUDE.md.</p>
</blockquote>
<figcaption>— Anthropic, https://code.claude.com/docs/en/memory</figcaption>
</figure>

Keletas praktinių detalių:

- **Santykiniai ir absoliutieji keliai.** `@AGENTS.md` kelias skaičiuojamas nuo failo, kuriame yra importas. `@/Users/me/shared/rules.md` arba `@~/.claude/personal.md` yra absoliutieji keliai. Asmeninėms nuostatoms, kurių nenoriu įrašyti į saugyklą, naudoju `@~/.claude/personal.md`.
- **Keturių lygių gylis.** `AGENTS.md` gali importuoti `@docs/coding-style.md`, o `coding-style.md` – dar vieną failą, ir taip iki keturių lygių. To pakanka bet kokiai realiai struktūrai.
- **Atgalinės kabutės blokuoja importą.** Jei tekste parašyta `` `@README` ``, tai tik paminėtas pavadinimas, o ne importas. Tai naudinga aiškinant skaitytojams, kaip veikia importai, netyčia jų nesukeliant.
- **Už projekto ribų esančių failų patvirtinimas.** Jei importas nurodo į vietą už darbinio katalogo ribų, pavyzdžiui, `@~/.claude/personal.md`, Claude Code pirmą kartą parodo dialogą su tų failų sąrašu. Jei atsisakote, išoriniai importai lieka išjungti, o dialogas daugiau nerodomas. `@AGENTS.md` projekto šaknyje dialogo nesukelia. Taip apsisaugoma nuo netyčinio nesusijusio failo įkėlimo į kontekstą.

Aprašytame projekte perėjus prie šios sąrankos, mano `CLAUDE.md` sutrumpėjo nuo 250 iki 60 eilučių: liko `@AGENTS.md` ir penkios–septynios tik Claude Code taikomos taisyklės (planavimo režimas rizikingiems katalogams, ko neliesti administravimo srityje ir kaip formuluoti įrašus). Visa bendra informacija yra `AGENTS.md`, kurį skaito Codex ir Cursor.

## Kada rinktis simbolinę nuorodą, o kada – importą?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Svarbiausia mintis">

Svarbiausia mintis

Anthropic siūlo du būdus: importą per `@AGENTS.md` arba simbolinę nuorodą `ln -s AGENTS.md CLAUDE.md`. Simbolinė nuoroda paprastesnė – tai tik slapyvardis, nereikalaujantis keisti failų. Tačiau ji turi tris trūkumus: „Windows“ reikia administratoriaus teisių, į `CLAUDE.md` negalima įtraukti tik Claude skirtų taisyklių, o Git kartais rodo simbolinę nuorodą kaip šiukšlę pakeitimų skirtume. Importas yra universalus būdas. Jei neturite tik Claude skirtų taisyklių, nuo versijos 2.1.277 nereikia nė vieno iš jų: Claude Code pats skaitys `AGENTS.md`.

</div>

Dokumentacijoje simbolinės nuorodos pasirinkimas pateiktas taip:

```bash
ln -s AGENTS.md CLAUDE.md
```

Iškart pateikiamas atviras įspėjimas dėl „Windows“:

<figure>
<blockquote>
<p>Jei jūs ar kiti saugyklą klonuojantys žmonės naudoja „Windows“, rinkitės importą <code>@AGENTS.md</code>. Simbolinei nuorodai sukurti reikia administratoriaus teisių arba Developer Mode, o jei Git išjungta <code>core.symlinks</code> parinktis, įrašyta nuoroda iškeliama kaip paprastas tekstinis failas: vietoj instrukcijų tame egzemplioriuje lieka vienos eilutės <code>CLAUDE.md</code>.</p>
</blockquote>
<figcaption>— Anthropic, https://code.claude.com/docs/en/memory</figcaption>
</figure>

Palyginimo lentelė:

| Kriterijus | `@AGENTS.md` importas | Simbolinė nuoroda `ln -s` |
|----|----|----|
| **Veikia „Windows“ be administratoriaus teisių** | taip | ne (reikia Developer Mode) |
| **Galima pridėti tik Claude taikomas taisykles** | taip, po importo | ne, failas identiškas |
| **Git rodoma kaip įprastas Markdown** | taip | kaip nuoroda (priklauso nuo `core.symlinks`) |
| **Galima importuoti kelis failus** | taip, iki keturių lygių | ne, tik vienas su vienu |
| **Spartinančioji atmintinė / negaliojančių duomenų apdorojimas Claude Code** | standartinis CLAUDE.md veikimas | veikia, tačiau simbolinės nuorodos turi metaduomenų keblumų |
| **Numatytasis pasirinkimas** | tinka visiems | tik jei nesvarbus naudojimas įvairiose platformose |

Aprašytame projekte naudoju importus. Priežastys:

1.  **Komanda dirba mišrioje aplinkoje.** Aš naudoju „Mac“, o pavyzdyje komanda maždaug po lygiai pasidalijusi tarp „Windows“ ir „Mac“. Jei saugykloje atsiranda simbolinė nuoroda, „Windows“ naudotojai be Developer Mode ją išsiregistruos kaip paprastą tekstinį failą, kurio vienintelė eilutė – `AGENTS.md`. Dėl to kyla keistų klaidų: kartais taisyklės veikia, kartais ne, ir neaišku kodėl.
2.  **Noriu tik Claude taikomų taisyklių.** Po `@AGENTS.md` mano `CLAUDE.md` yra skiltis „Claude Code“ su taisyklėmis: architektūros užduotims naudoti `--effort high`, prieš `git push` paleisti `npm run build` ir ranka nekviesti `/api/v1/deploy`. Codex šių komandų nesupranta.
3.  **Lengviau derinti.** Kai kas nors nepavyksta, atidarau `CLAUDE.md` ir matau importą bei savo pakeitimus. Simbolinė nuoroda nepaaiškina, kas čia pridėta. Daugiau apie Claude Code nustatymų derinimą skaitykite [saugaus režimo vadove](https://ailoot.ai/blog/lt/claude-code-safe-mode-recovery/).

Jei neturite tik Claude skirtų taisyklių, nuo versijos 2.1.277 simbolinės nuorodos nebereikia: ištrinkite `CLAUDE.md`, ir Claude Code pats skaitys `AGENTS.md`. Simbolinę nuorodą palikite tik tuo atveju, jei komandoje yra žmogus, naudojantis senesnę nei 2.1.277 versiją ir negalintis atsinaujinti. Jei turite tik Claude skirtų taisyklių, dešimčia atvejų iš dešimties patogesnis importas.

## Ką skaito Codex, Cursor, Copilot, Windsurf ir Gemini CLI?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Svarbiausia mintis">

Svarbiausia mintis

Kiekvienas įrankis skaito savo failą, kartais – daugiau nei vieną. Claude Code skaito `CLAUDE.md`, o nuo 2026 m. rugsėjo taip pat skaito `AGENTS.md`, jei projekte nėra `CLAUDE.md`. Codex CLI skaito `AGENTS.md` ir `AGENTS.override.md`. Cursor skaito senesnio formato `.cursorrules` arba naujesnius `.cursor/rules/*.mdc`, o nuo 2026 m. vasaros taip pat skaito `AGENTS.md`. Copilot skaito `.github/copilot-instructions.md` arba `.github/instructions/*.instructions.md`. Windsurf skaito senesnį `.windsurfrules` arba naujesnį `.windsurf/rules/`. Gemini CLI skaito `GEMINI.md`. Aider ir Cline jau palaiko `AGENTS.md`.

</div>

Septynių pagrindinių įrankių apžvalga (remiantis oficialia kiekvieno įrankio dokumentacija):

| Įrankis | Pagrindinis instrukcijų failas | Alternatyvos | Skaito AGENTS.md? |
|----|----|----|----|
| **Claude Code** | `CLAUDE.md` | `~/.claude/CLAUDE.md`, `./.claude/CLAUDE.md`, valdoma politika | taip, jei projekte nėra `CLAUDE.md` (nuo 2.1.277), kitu atveju per importą |
| **Codex CLI** (OpenAI) | `AGENTS.md` | `AGENTS.override.md` | taip (tiesiogiai) |
| **Cursor** | `.cursor/rules/*.mdc` | `.cursorrules` (nebenaudojamas) | taip |
| **GitHub Copilot** | `.github/copilot-instructions.md` | `.github/instructions/*.instructions.md` | per plėtinius |
| **Windsurf** | `.windsurf/rules/` | `.windsurfrules` (nebenaudojamas) | taip |
| **Gemini CLI** | `GEMINI.md` | \- | ne |
| **Aider, Cline, opencode** | `AGENTS.md` | \- | taip (tiesiogiai) |

Ką tai reiškia? Jei saugykloje yra `AGENTS.md` (ir `CLAUDE.md` su importu, kai reikia Claude skirtų taisyklių), penki iš septynių įrankių automatiškai gauna atnaujintas instrukcijas. Cursor ir Windsurf, turintys savus failus, gali likti kaip yra (`AGENTS.md` taip pat skaitomas) arba į juos galima pridėti `@AGENTS.md` importą, tačiau jų sintaksė skiriasi ir palaikoma ne visada.

Paprasčiausia naujo projekto strategija:

1.  **Visas bendras taisykles sudėkite į `AGENTS.md`** – ten priklauso 95 % taisyklių.
2.  **Sukurkite `CLAUDE.md`, jei reikia tik Claude skirtų taisyklių:** pirmoje eilutėje įrašykite `@AGENTS.md`, tada pridėkite skiltį su tik Claude taikomomis taisyklėmis. Jei tokių taisyklių nėra, `CLAUDE.md` nereikalingas; nuo versijos 2.1.277 Claude Code pats skaito `AGENTS.md`.
3.  **Cursor palikite `.cursor/rules/`** retais atvejais, kai reikia ko nors būtent Cursor (jo komandų `@Codebase` ir `@Docs`).
4.  **Su Windsurf elkitės taip pat:** atsisakykite seno `.windsurfrules`; naują `.windsurf/rules/` naudokite tik tada, kai reikia jo sintaksės šablonų.

Taip 20 % darbo įdėję gausite 80 % naudos. Mano patirtis rodo, kad dirbant su mišriomis komandomis „Antigravity“ projekte tampa sunku prižiūrėti daugiau nei du informacijos šaltinius (bendrą ir tik Claude skirtą). Jei kas nors komandoje įtraukia taisyklę į `.cursorrules` ir pamiršta `AGENTS.md`, po savaitės Cursor ir Codex pateiks skirtingus atsakymus.

## Kaip Claude Code /init aptinka esamą AGENTS.md?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Svarbiausia mintis">

Svarbiausia mintis

`/init` pagal tai, kas jau yra saugykloje, sukuria `CLAUDE.md` ir sutaupo 20–30 minučių rankinio darbo. Pagal numatytuosius nustatymus jis aptinka Cursor taisykles (`.cursor/rules/`, `.cursorrules`) ir Copilot taisykles (`.github/copilot-instructions.md`), o `AGENTS.md`, `.windsurfrules` ir `.clinerules` skaito veikiant `CLAUDE_CODE_NEW_INIT=1` režimui. Šis režimas paleidžia interaktyvią kelių etapų eigą: pateikia klausimus, pasitelkęs pagalbinį agentą išnagrinėja kodą ir prieš rašydamas pasiūlo planą. Nuo 2026 m. rugsėjo `/init` turi trūkumą projektuose su `AGENTS.md`: naujas `CLAUDE.md` išjungia tiesioginį `AGENTS.md` skaitymą, todėl taisyklės atsiduria dviejuose failuose.

</div>

Anthropic savo dokumentacijoje `/init` apibūdina taip:

<figure>
<blockquote>
<p>Paleidus <code>/init</code> nuskaitomi kitų įrankių instrukcijų failai, o svarbios dalys perkeliamos į sugeneruotą <code>CLAUDE.md</code>: Cursor taisyklės iš <code>.cursor/rules/</code> arba <code>.cursorrules</code>, Copilot taisyklės iš <code>.github/copilot-instructions.md</code>, o nustačius <code>CLAUDE_CODE_NEW_INIT=1</code> – taip pat <code>AGENTS.md</code>, <code>.devin/rules/</code>, <code>.windsurf/rules/</code> arba <code>.windsurfrules</code> ir <code>.clinerules</code>.</p>
</blockquote>
<figcaption>— Anthropic, https://code.claude.com/docs/en/memory</figcaption>
</figure>

Ką tai reiškia praktiškai? Aprašytoje saugykloje buvo `.cursorrules` iš mano bandymų naudoti Cursor (apie 80 eilučių) ir rankomis surinktas 120 eilučių `AGENTS.md`. Paleidus `claude /init`, komanda paėmė abu failus, pašalino panašias taisykles ir per minutę surinko tvarkingą `CLAUDE.md`. Po to jį patikrinau ir šiek tiek paredagavau – pašalinau pasenusius punktus ir pridėjau antraščių struktūrą. Tai buvo greičiau nei rašyti iš naujo.

Interaktyvus režimas, kai `/init` taip pat skaito `AGENTS.md`, įjungiamas aplinkos kintamuoju:

```bash
CLAUDE_CODE_NEW_INIT=1 claude
```

Paleidus `/init`, Claude užduoda kelis patikslinamuosius klausimus: kokius artefaktus sukonfigūruoti (`CLAUDE.md`, įgūdžius, kablius), kokį technologijų rinkinį naudoja projektas ir kokias komandas naudoti testams. Tada pagalbinis agentas išnagrinėja kodų bazę – perskaito `package.json`, `README.md` ir konfigūracijos failus – bei papildo trūkstamas vietas. Pabaigoje pateikiamas pasiūlymas, kurį galite redaguoti prieš įrašydami. Daugiau apie Claude Code konfigūravimą pradedant projektą skaitykite [atskirame vadove](https://ailoot.ai/blog/lt/spec-kit-claude-code-spec-driven-development/).

Dabar apie trūkumą. Jei projekte jau aktyviai naudojamas `AGENTS.md`, `/init` šalia jo sukurs `CLAUDE.md` su taisyklių kopija. Nuo tada Claude Code pagal numatytuosius nustatymus skaitys tik `CLAUDE.md`, tad vėl atsiras du informacijos šaltiniai: atnaujinsite `AGENTS.md`, o Claude toliau dirbs pagal seną kopiją. Komanda `/import` daro kažką panašaus: vieną kartą nukopijuoja `AGENTS.md` turinį į `CLAUDE.md`. Kad išlaikytumėte vieną šaltinį, po `/init` pirmoje `CLAUDE.md` eilutėje įrašykite importą `@AGENTS.md` ir pašalinkite viską, kas `CLAUDE.md` dubliuoja `AGENTS.md` turinį.

`/init` yra tinkamas pradinis žingsnis kuriant naują projektą arba pereinant nuo Cursor ar Copilot. Nereikia internete ieškoti „geriausio CLAUDE.md šablono“ – Anthropic jau atsižvelgia į tai, kas yra saugykloje. Jei projekte jau naudojamas `AGENTS.md` ir nėra tik Claude skirtų taisyklių, `/init` nereikalingas: Claude Code pats skaitys `AGENTS.md`.

## Kaip atskirti bendras ir tik Claude skirtas instrukcijas?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Svarbiausia mintis">

Svarbiausia mintis

Į `AGENTS.md` įrašykite taisykles, kurias supranta bet kuris DI agentas: ko neliesti, kaip pavadinti šakas, kad `.env` yra paslaptis ir kokias komandas naudoti testams. Į `CLAUDE.md` (po importo) dėkite tik Claude Code skirtas taisykles: planavimo režimą, įgūdžius, kablius, nuorodas į įgūdžius ir modelių pavadinimus pagal versiją. Skirtumas paprastas: jei taisyklė prasideda „Claude turėtų“, ji priklauso `CLAUDE.md`. Jei prasideda „įrankis turėtų“, ji priklauso `AGENTS.md`.

</div>

Taisykles skirstau pagal šį principą. Bendros taisyklės, kurios tinka `AGENTS.md`:

- **Ko negalima liesti kode.** `.env`, `node_modules`, `prisma/migrations` katalogai (tik per `prisma migrate`), `.next/`, `.git/`.
- **Kaip pavadinti dalykus.** Šakos: `feat/`, `fix/`, `chore/`. Įrašai: priešdėliai `feat:`, `fix:`, `docs:` ir trumpas aprašas. Komponentų failai – `kebab-case`.
- **Testų / lint komandos.** `npm run build`, `npm run lint`, `npm test`. Kurią komandą paleisti prieš `git push`.
- **Architektūros principai.** Kas dedama į `src/lib/`, kas į `src/components/`, kur laikoma verslo logika ir kur – naudotojo sąsaja.
- **Saugumas.** Niekada neįrašyti paslapčių į saugyklą. Prie gamybinės duomenų bazės jungtis tik per `prod-psql`. Prie gamybinės aplinkos per SSH jungtis tik per slapyvardį `prod`, o ne `root@IP`.

Tik Claude skirtos taisyklės, kurios priklauso `CLAUDE.md` (po `@AGENTS.md`):

- **Planavimo režimas.** Naudoti `plan mode` keičiant rizikingų katalogų failus (pavyzdžiui, `src/billing/`).
- **Pastangų lygis.** Architektūros užduotims naudoti `--effort high`, įprastiems darbams – `medium`.
- **Įgūdžiai.** Nurodyti, kuriomis aplinkybėmis paleisti atitinkamus DI agentus ir įgūdžius. Pavyzdžiui: „dirbant su vadovu, paleisti `build-masterskaya-guide` įgūdį“.
- **Claude atmintis.** Ką įrašyti į automatinę atmintį, o ką – į `CLAUDE.local.md`. Daugiau apie Claude atmintį skaitykite [atminties ir CLAUDE.md vadove](https://ailoot.ai/blog/lt/claude-memory-claude-md-auto-memory/).
- **Kablai.** Jei `.claude/settings.json` sukonfigūruoti kabliai, `CLAUDE.md` aprašykite, ką jie daro (Codex ir Cursor apie juos nežino ir neturi žinoti).
- **Įgūdžiai ir komandos.** Dažnai naudojamų pasvirųjų brūkšnių komandų sąrašas (`/init`, `/cd`, `/memory`, `/plan`).

Riba ne visada aiški. Pavyzdžiui, „niekada nevykdyti `git push --force` į `main`“ akivaizdžiai yra bendra taisyklė, tad ji priklauso `AGENTS.md`. O „prieš vykdant `git push` į greitąją šaką, pirmiausia naudoti planavimo režimą“ skirta Claude Code, todėl priklauso `CLAUDE.md`. Pasitikrinkite: „Jei rytoj atsisakyčiau Claude Code ir palikčiau tik Codex, ar ši taisyklė vis dar galiotų?“ Jei taip, dėkite ją į `AGENTS.md`. Jei ne, dėkite į `CLAUDE.md`.

## Kas priklauso AGENTS.md, o kas – CLAUDE.md arba .claude/rules?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Svarbiausia mintis">

Svarbiausia mintis

Dideliame projekte vieno `AGENTS.md` nepakanka – jis tampa pernelyg didelis ir kiekvienas agentas į savo kontekstą įtraukia nereikalingą medžiagą. Sprendimas – katalogas `.claude/rules/` su atskirais failais pagal temas ir YAML antraštės `paths:` laukais, apibrėžiančiais keliais grindžiamus aktyviklius. Pavyzdžiui, API taisyklė taikoma tik tada, kai Claude dirba su `src/api/`. Taip sutaupoma daug konteksto lango vietos. Cursor analogas yra `.cursor/rules/`, o Windsurf – `.windsurf/rules/`.

</div>

Jei taisyklės peržengia 200 eilučių, metas jas skaidyti. Anthropic dokumentacijoje rekomenduojama siekti, kad viename faile būtų apie 200 eilučių, nes ilguose `CLAUDE.md` failuose Claude ima prasčiau laikytis instrukcijų: atrodo, kad jas perskaito, bet rečiau vykdo.

Man pasiteisinusi didelio projekto struktūra:

```
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
```

Kiekvieno `.claude/rules/` failo pradžioje gali būti tokia antraštė:

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

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

Claude šias taisykles įkelia tik tada, kai dirba su failais, atitinkančiais šį šabloną. Jei jis keičia `src/components/Button.tsx`, API taisyklės į kontekstą neįtraukiamos. Taip konteksto lango vieta naudojama tik tam, kas aktualu. Katalogas `.claude/rules/` veikia ir be `CLAUDE.md`: jei projekte yra tik `AGENTS.md`, jo taisyklės įkeliamos kartu ir tiesioginis `AGENTS.md` skaitymas neišjungiamas.

Cursor ir Windsurf taiko panašų principą per `.cursor/rules/` ir `.windsurf/rules/` katalogus. AGENTS.md standartas gali nurodyti šiuos katalogus, tačiau įvairiems įrankiams skirtų sintaksių palaikymas dar nėra visiškai nusistovėjęs. Saugiau bendras taisykles laikyti `AGENTS.md`, o konkrečiam keliui taikomas taisykles kopijuoti į `.claude/rules/` ir `.cursor/rules/` – tokie reti konkretūs atvejai, o ne didžioji taisyklių dalis.

Naudingos CLAUDE.md vietos (nuo plačiausiai iki siauriausiai taikomų):

| Lygis | Vieta | Paskirtis |
|----|----|----|
| **Valdoma politika** | `/Library/Application Support/ClaudeCode/CLAUDE.md` („Mac“), `/etc/claude-code/CLAUDE.md` („Linux“) | Įmonės taisyklės, IT / DevOps |
| **Naudotojo** | `~/.claude/CLAUDE.md` | Asmeninės nuostatos visuose projektuose |
| **Projekto** | `./CLAUDE.md` arba `./.claude/CLAUDE.md` | Projekto komandos taisyklės |
| **Vietinis** | `./CLAUDE.local.md` (`.gitignore` faile) | Asmeninės nuostatos konkrečiam projektui |

Pavyzdžiui, `~/.claude/CLAUDE.md` galėtų būti dvi taisyklės: „atsakyti naudotojo pageidaujama kalba“ ir „rašyti Ailoot tiksliai taip“. Jos taikomos kiekvienam projektui, tad nereikia jų kartoti kiekvienoje saugykloje.

Iš šių keturių lygių tik projekto lygmens `CLAUDE.md` ir `CLAUDE.local.md` išjungia tiesioginį `AGENTS.md` skaitymą. Asmeninis `~/.claude/CLAUDE.md` ir valdoma politika netrukdo: Claude Code juos skaito kartu su `AGENTS.md`.

## Ką daryti, jei AGENTS.md projekte jau pasenęs?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Svarbiausia mintis">

Svarbiausia mintis

Jei `AGENTS.md` buvo surinktas 2025 m. Codex ar Aider ir nuo tada neredaguotas, atidarykite projektą Claude Code ir paprašykite Claude paredaguoti failą. AGENTS.md yra gyvas dokumentas; „Linux Foundation“ specifikacija atnaujinama. Pagrindinė taisyklė, padedanti jį atnaujinti: kiekviena taisyklė turi atsakyti į klausimą „Ką pavargau kartoti Claude / Codex?“ Jei neatsako, archyvuokite ją.

</div>

Aprašytame projekte turėjau 2025 m. gegužės `AGENTS.md` – 180 eilučių, daugelis jų pasenusios (jame buvo minimos nuo tada pasikeitusios Anthropic API galinės stotys, nebeegzistuojanti `claude --tools` sintaksė ir pasenusios struktūros `~/.claude/projects/` taisyklės).

Naudotas atnaujinimo planas:

1.  **Peržiūrėkite jį su `claude` planavimo režimu.** Atidarau saugyklą, paleidžiu `claude --safe-mode` ir prašau: „Perskaityk AGENTS.md iš naujo ir pasiūlyk pasenusių ar pasikartojančių punktų sąrašą. Jo neredaguok; tik išvardyk juos.“ Per dvi minutes gavau 23 peržiūrėtinų punktų sąrašą.
2.  **Pašalinkite akivaizdžiai pasenusius punktus.** Iš 23 punktų 9 buvo aiškiai pasenę – komandų sintaksė, galinės stotys ir parinkčių pavadinimai. Ištryniau tas eilutes.
3.  **Sujunkite pasikartojimus.** Dar 6 punktai skirtingais žodžiais kartojo tą patį („nepriverstinai siųsti“, „niekada nenaudoti `--force`“, „vengti `git push -f`“). Sujungiau juos į vieną eilutę.
4.  **Pridėkite naujų punktų.** Įrašiau dalykus, kuriuos per pastarąjį mėnesį pastebėjau Claude / Codex nuolat darant klaidingai, laikydamasis taisyklės „po vieną eilutę kiekvienam klaidų šablonui“. Taip atsirado 8 nauji punktai.
5.  **Paprašykite pagalbinio agento galutinės peržiūros.** Paprašiau Claude peržiūros „rasti prieštaravimų, dviprasmybių ir pasikartojimų“. Ji aptiko tris formuluotes, kurias buvo galima patikslinti. Jas pataisiau.

Po valandos `AGENTS.md` buvo 110 eilučių ilgio ir atnaujintas, o aš žinojau kiekvieną jo eilutę. Iš jo buvo lengva parengti 30 eilučių `CLAUDE.md`. Po to Codex taip pat akivaizdžiai atidžiau vykdė testus – įtariu, kad kai kurie jo „keisti“ sprendimai kilo iš pasenusių instrukcijų, kurių jis sąžiningai laikėsi.

Pagrindiniai gyvo `AGENTS.md` principai:

- **Kiekviena taisyklė atsako į pasikartojančią klaidą.** Jei per mėnesį nė karto neprireikė apie ją pagalvoti, nėra prasmės jos laikyti.
- **Taisykles rašykite kaip nurodymus, o ne teoriją.** „Naudokite du tarpus“ yra taisyklė. „Kodo stilius turi būti tvarkingas“ – ne.
- **Konkretumas svarbiau už bendrybes.** „Prieš `git push` paleiskite `npm run build`“ yra taisyklė. „Išbandykite pakeitimus“ – ne.

## Kas tikrai NEVEIKIA naudojant šią sąranką?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Svarbiausia mintis">

Svarbiausia mintis

Importas `@AGENTS.md` nesuvienodina skirtingų įrankių elgsenos. Kiekvienas turi savų ypatybių: Codex CLI nežino apie `.claude/rules/` ar kablius. Cursor automatinio užbaigimo funkcija turi atskirą mechanizmą, kuris pildydamas tekstą neskaito CLAUDE.md. Copilot laikosi `.github/copilot-instructions.md`, o vien `AGENTS.md` taisyklių jam nepakanka. Tai ne „vienas failas = viena elgsena“, o „vienas bazinių taisyklių šaltinis ir kiekvieno įrankio papildomos taisyklės“.

</div>

Keletas dalykų, kuriuos išmokau nelengvu būdu per šešis mėnesius dirbdamas su šia sąranka:

**1. Cursor automatinio užbaigimo funkcija nenaudoja AGENTS.md.** Siūlydamas užbaigti eilutę redaktoriuje Cursor realiu laiku neskaito `AGENTS.md` – tuo rūpinasi atskiras greitasis mechanizmas. AGENTS.md taisyklės svarbios tik pateikus užklausą Cursor pokalbyje. Vadinasi, įrašius į AGENTS.md „nenaudok `var`, naudok `const`“, automatinis užbaigimas nepasikeis; tai reikia sukonfigūruoti per ESLint arba TypeScript konfigūraciją.

**2. Claude Code kabliai faile AGENTS.md Codex neveikia.** Jei `.claude/settings.json` sukonfigūruotas PreToolUse kablys, blokuojantis tam tikrą veiksmą, ši informacija naudinga tik Claude. Codex nežino apie kablius; jam atrodo, kad „įrankis sprendžia pats“. Tikslinga į `AGENTS.md` įrašyti „nedaryk X“, o į `CLAUDE.md` po importo – „yra kablys, fiziškai blokuojantis X“.

**3. Copilot ir `.github/copilot-instructions.md`.** GitHub Copilot skaito savo failą ir vis dar ne itin gerai skaito AGENTS.md. Jei jūsų komanda aktyviai naudoja Copilot, pridėkite atskirą `.github/copilot-instructions.md` su sutrumpinta taisyklių versija arba naudokite [Copilot Extensions](https://github.com/marketplace?type=apps&category=copilot-extensions), palaikančius AGENTS.md. Tai sparčiai keičiasi, tad po trijų–šešių mėnesių situacija gali būti kitokia.

**4. Git simbolinės nuorodos pakeitimo kaip CLAUDE.md nerodo.** Jei paleidžiate `ln -s AGENTS.md CLAUDE.md`, o po savaitės atnaujinate `AGENTS.md`, Git pakeitimus parodys tik faile `AGENTS.md`. Tai normalu, tačiau kolega, peržiūrintis PR, gali nesuprasti, kad `CLAUDE.md` taip pat atnaujintas per simbolinę nuorodą. Sprendimas: PR apraše aiškiai parašykite „atnaujintas `AGENTS.md`; Claude Code mato tą patį failą per simbolinę nuorodą“.

**5. Gilius importus sunku derinti.** Jei `AGENTS.md` importuoja `@docs/coding-style.md`, kuris importuoja `@docs/typescript.md`, o kuri nors taisyklė prieštarauja kitai, derinti sunku. Importus apriboju vienu lygiu (`CLAUDE.md` → `AGENTS.md`) ir nebeįterpiu papildomų. Anthropic pateikia kablį `InstructionsLoaded`, kuris registruoja, kokie failai įkelti – naudinga derinant sluoksniuotą sąranką. Pastaba: kablys suveikia, kai `AGENTS.md` įtraukiamas per importą arba simbolinę nuorodą, bet ne tada, kai Claude Code pats jį perskaito.

<div class="section" role="doc-bibliography" aria-label="Šaltiniai">

### Šaltiniai

- [Claude Code atminties dokumentacija – AGENTS.md skiltis](https://code.claude.com/docs/en/memory#agents-md) – kada Claude Code pats skaito AGENTS.md, Project instructions nustatymai, importai, simbolinės nuorodos ir `/init` elgsena.
- [Claude Code atminties dokumentacija – papildomų failų importavimas](https://code.claude.com/docs/en/memory#import-additional-files) – sintaksė `@path/to/file`, keturių lygių gylis, santykiniai ir absoliutieji keliai.
- [agents.md – „Linux Foundation“ standartas](https://agents.md/) – oficialus AGENTS.md standartas ir jį palaikančių įrankių sąrašas.
- [Cursor taisyklių dokumentacija](https://docs.cursor.com/context/rules-for-ai) – ką skaito Cursor (`.cursor/rules/*.mdc`, AGENTS.md).
- [GitHub Copilot tinkintos instrukcijos](https://docs.github.com/en/copilot/customizing-copilot/adding-custom-instructions-for-github-copilot) – `.github/copilot-instructions.md` formatas.
- [AGENTS.md specifikacija „Linux Foundation“ svetainėje](https://aaif.io/projects/agents-md/) – nuolat atnaujinama specifikacija.

</div>

Visa vibe coding sąranka vienam vakarui: **DI klonas + Antrosios smegenys + konteksto inžinerija**. 



Susipažinkite su [Ailoot](https://ailoot.ai/).

## Klausimai ir atsakymai

### Kada vietoj simbolinės nuorodos naudoti importą?

CLAUDE.md naudokite `@AGENTS.md`, kai reikia Claude skirtų papildymų ar komandos nariai naudoja Windows. Simbolinė nuoroda abu vardus susieja su tuo pačiu turiniu, todėl negali turėti atskiro vien Claude skyriaus.

### Kaip patikrinti, kad bendros instrukcijos įkeltos?

Paleiskite `/memory` ir patikrinkite išvardytus instrukcijų failus. Jei CLAUDE.md ar CLAUDE.local.md jūsų konfigūracijoje slopina tiesioginį AGENTS.md įkėlimą, pridėkite importą arba pasirinkite abu įkeliantį nustatymą, tada pradėkite naują sesiją.


## Ailoot · Įmonė ir jos projektų portfelis

Ailoot remiasi sukaupta veiklos patirtimi, plačia klientų baze, stabiliomis paslaugomis ir nuolatine KPI kontrole.

Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.

Ailoot šią veiklos patirtį pritaiko teikdama API prieigą prie DI funkcijų klientų produktuose, agentuose, programose ir automatizavimo sprendimuose.
