Kontextové soubory
Kontextový soubor je AGENTS.md nebo CLAUDE.md v kořenové složce Projektu. Elowen přidá jeho obsah do pokynů modelu, když v tomto Projektu začne konverzace.
Používejte je pro pokyny, které platí pro práci v daném Projektu, například konvence kódu nebo příkazy testů. Pro opakovaně použitelné postupy napříč konverzacemi slouží Skilly.
Kde kontextové soubory platí
Kontextové soubory se načítají automaticky. Žádné nastavení je nezapíná ručně.
- Vlastní chat administrátora čte soubor Projektu, ve kterém konverzace běží. Ve webu změníte Projekt konverzace výběrem Projektu v hlavičce chatu; v CLI jej přepíná
/project(/cdpřesouvá jen vlastní složku terminálu). Nová konverzace ve webu začíná ve Vašem výchozím Projektu, tedy v prvním podle pořadí Projektů. Konverzace na hostiteli, která Projekt neuvádí, použije zaregistrovaný Projekt, do kterého spadá její pracovní adresář. - Spravované Projekty fungují stejně. Soubor se čte ze složky Projektu uvnitř jeho prostředí. Zastavené prostředí se kvůli čtení nespouští; konverzace se pak otevře bez souboru.
- Účet chatbota čte soubor jediného Projektu, ke kterému je vázán, a nic jiného. Tak získává chatbot svou personu ze svého Projektu. Cokoli v tomto souboru se dostane do promptu, se kterým mluví návštěvníci webu, proto do něj nedávejte soukromé poznámky.
Soubor s pokyny se při startu čte jen z kořenové složky Projektu: soubor ve složce nad Projektem se nenačte nikdy a pracovní adresář mimo všechny zaregistrované Projekty nenačte nic. U propojeného Git worktree zaregistrovaného Projektu je kořenem nejvyšší složka tohoto worktree, takže soubory pocházejí z checkoutu, ve kterém konverzace pracuje. Pokyny pro konkrétní složku kódu patří do modulů pokynů, které se čtou, když Elowen s těmito soubory pracuje.
Kontextové soubory se čtou pro vlastní chat administrátora, pro delegované sub-agenty spuštěné z tohoto chatu (včetně forků a vnořených sub-agentů) a pro účet chatbota. Pro ostatní účty se nenačítají, stejně jako ve sdílených kanálech platforem, jako je Teams nebo Discord.
Co do kontextového souboru patří
V kořeni Projektu použijte jeden z těchto přesných názvů souborů:
AGENTS.override.mdAGENTS.md(neboAGENTS.MD)CLAUDE.md(neboCLAUDE.MD)
Když existuje několik, načte se jen první v tomto pořadí. Soubor větší než 256 KiB se nenačte vůbec.
Elowen přidá obsah do pokynů modelu. Kontextový soubor nevytváří Projekt, nemění pracovní adresář ani neuděluje přístup k nástrojům, souborům či jiným zdrojům. Stávající oprávnění účtu platí dál.
Rozdělení pokynů do modulů
Dlouhý kořenový soubor zatěžuje každou konverzaci v Projektu. Nechte v něm jen to, co platí vždy, a zbytek přesuňte do modulů: souborů Markdown ve složce .elowen/rules včetně jejích podsložek. Modul uvádí v hlavičce soubory, ke kterým patří:
---
paths:
- "src/api/**/*.ts"
- "tests/api/**/*.ts"
---
# API rules
- Validate endpoint inputs.
- Update the contract tests.
Elowen tento modul připojí, když čte, zapisuje nebo upravuje soubor odpovídající některému ze vzorů, a to od dalšího kroku modelu v daném tahu. Vzory používají *, ** a ? a několik vzorů znamená alternativy. Modul bez hlavičky je bezpodmínečný a připojí se ke kořenovému souboru na začátku konverzace.
Pokyny pro jednu složku patří do AGENTS.md této složky, například src/payments/AGENTS.md. Připojí se, když Elowen pracuje se souborem v této složce nebo pod ní, a nikdy nenahradí kořenový soubor, který už je na místě.
Moduly fungují jako zbytek konverzace. Připojený modul zůstává v historii konverzace, restart jej nepřipojí dvakrát a po shrnutí konverzace se může připojit znovu, jakmile Elowen příště pracuje s odpovídajícím souborem. Když se soubor modulu změní, Elowen připojí nový obsah při dalším zásahu do odpovídajícího souboru a označí ho jako náhradu starší verze. Na pozadí se nic nesleduje, takže změna se do konverzace nikdy nedostane sama.
Model dostane přesně text modulu bez hlavičky, označený souborem, ze kterého pochází. Modul, který se nepodaří načíst, se zapíše do logu služby a nikdy ho nenahradí jiný, širší:
- Modul s neplatnou hlavičkou nebo s jiným klíčem než
pathsse nenačte vůbec. - Modul nad 256 KiB se odmítne celý. Pokyny se nikdy nezkracují.
- Modul, který odkazem míří mimo Projekt, se odmítne.
- Cesty se rozpoznávají jen při práci se soubory. Zmínka o cestě ve zprávě, výpis složky nebo spuštění příkazu v shellu modul nepřipojí.
Kdy se změny projeví
Kořenový soubor se čte jednou při sestavení konverzace a pro všechny další zprávy zůstává stejný. Pokyny modelu jsou tak mezi zprávami totožné, což udržuje odpovědi rychlé a levnější.
Úprava kořenového souboru se projeví, až se konverzace znovu sestaví: v nové konverzaci, po přepnutí modelu, po restartu Elowen nebo když je konverzace asi 30 minut nečinná. Úprava modulu nebo vnořeného AGENTS.md se projeví při dalším zásahu do odpovídajícího souboru ve stejné konverzaci.
Pokud pokyny chybí, zkontrolujte, že soubor leží v kořenové složce Projektu s přesným názvem ze seznamu výše, že konverzace běží v tomto Projektu a že jde o vlastní chat administrátora nebo chatbota vázaného na tento Projekt. U modulu ověřte, že cesta v jeho hlavičce odpovídá souboru, se kterým se pracuje, a že modul leží ve .elowen/rules.