CLAUDE.md

CLAUDE.md je soubor s pravidly projektu. Bydlí přímo v repozitáři a Claude si jej automaticky přečte na začátku každé konverzace. Není to nic, co by se vygenerovalo samo. Vždy jej píšu já — buď prostě Claudovi řeknu „přidej do CLAUDE.md, že...“, nebo si jej nechám vytvořit přes příkaz /init, který Claude projde projekt a sepíše první verzi.

Co v něm máme. Jsou tam absolutní příkazy: Session Init na začátku každé konverzace (načíst paměť, zkontrolovat drift), Skill Pipeline (devítikrokový postup bez chyb), Discipline Rules (to co jsem si musel koupit těžce). Je tam seznam všech MCP serverů, které má připojené, seznam background skillů. Je tam taky archiv — co už nedělám, aby na ně Claude nevěnoval energii.

Nejdůležitější část: pravidla a lekce. Např. „Ověř stav konkrétní sondou, nikdy jen z URL a titulku.“ To se naučuji postupně, a CLAUDE.md je místo, kde to všechno máme zapsané. „Jeden commit na jednu změnu.“ To je ponaučení od toho, kdy jsem zahodil tři věci dohromady a pak tři dny hledal, kde se co rozbilo. Jsou to věty do pěti řádků, ale stojí za měsíce provozu.

Automatická paměť

Paměť je druhá věc, odlišná od CLAUDE.md. Když Claude pracuje, píše si sám poznámky o tom, co se stalo, na co si má příště vzpomenout. Ty poznámky žijí v MEMORY.md, které se ukládají na můj počítač. Každá session si přečte prvních 200 řádků tohoto souboru — takže není nekonečná, musím ji udržovat čistou. Když se MEMORY.md nashromáždí přes 25 kilobajtů, je čas si ji sepsat a archivovat.

Jak to vypadá prakticky. Řeknu Claudovi: „Uprav MEMORY.md, že jsme dneska přidali nový obsah na web.“ Sám to napíše něco jako: „2026-06-09: Euphronic web — přidány 4 nové stránky, Vercel deployment v pořádku, user schválil design. Příští fáze: newsletter setup.“ Příště, když se s Claudem zase potkám, už bude vědět, kde jsme skončili.

Důvod, proč to dělám: agent sám o sobě je jako člověk s amnezií. Po každé konverzaci zapomene úplně všechno. Sessiony jdou do nějaké historie, ale k tomu se nedostane sám. Proto si vedle něj držím sešit. Notion je jedna z podob tohoto sešitu (viz Můj stack), Obsidian je druhá, hlubší (tam jdou věci, které se budou hledat déle). MEMORY.md je nejrychlejší verze — na začátku session se vždy načte a Claudovi připomene kontext.

Settings

Settings.json je nastavení v jednom souboru. Je tam řečeno, jaký model chci (já Opus 4.8), jak má Claude přistupovat k věcem (jaké MCPs má dostupné). Když chci, aby Claude měl přístup k nové službě — třeba Notion — řeknu mu to a on si nastavení upraví sám.

Jsou tam oprávnění — co Claude smí dělat bez ptaní a na co si mě musí vyžádat svolení. Co se nesmí: nesmí smazat nic bez potvrzení, nesmí pushovat na main větev bez mého OK, nesmí odesílat emaily mým jménem bez kontroly. Gemini API mám vypnutý, jelikož autonomní režim zbytečně táhl náklady.

CLAUDE.md popisuje, jak pracovat. Settings.json je most k vnějšímu světu: kterých serverů má Claude dostupné, které tokeny, kde jsou soubory. Claude si je nastavuje sám, když mu na to řeknu.

Hooky

Hooky jsou věci, které se stávají automaticky. Představte si je jako signály. „Jakmile Claude upraví soubor, formátuj jej.“ Nebo: „Na začátku session si vypsat všechna pravidla ze CLAUDE.md.“

Mám tři aktivní hooky. PreToolUse — to je před akcí, kontroluje, co se chystá. UserPromptSubmit — když napíšu něco do chatu, připomene Claudovi direktivy a co by měl zvážit. Stop — když session skončí, udělá audit, zda je všechno uloženo.

Fungují jako pojistka. Zažil jsem chvíle, kdy si Claude nepřečetl CLAUDE.md a jel dál bez kontextu. Hooky to mají zabránit. Jsou hlasité připomínky (vidím je v chatu) a zároveň bězí na pozadí.

Příkazy a statusline

Slash příkazy jsou zkratky. „/init“ znamená „přečti si projekt a sepíši CLAUDE.md.“ „/compact“ znamená „sbal kontext.“ „/clear“ je reset. Statusline je řádek dole, kde vidím model, effort a zbývající context tokeny.

Upřímně, příkazy používám zřídka. /init jednou za měsíc. /compact jsem vypnul — řeknu Claudovi „context se zaplňuje“ a on se rozhodne, co archivovat. Statusline sleduji, když chci vědět, kolik prostoru zbývá. Ukazuje taky, jestli běží background procesy — užitečné, když si myslím „proč to trvá?“

Oprávnění

Oprávnění určují, co Claude smí dělat sám a na co si mě musí vzbudit. „Smaž soubor bez varování“ — ne, na to si mě musí poprosit. „Pushni na GitHub“ — ne, chci to vidět. „Napiš si poznámku v Notionu“ — to je OK.

Zámky mají smysl na čtyřech místech: soubory (co smí měnit), deployment (co jde rovnou, co čeká na moje OK), sekrety (API klíče vidí jen když potřebují), big decisions (architektura, mazání starých cest).

Nastavuji to v settings.json. Řeknu Claudovi „tyhle soubory jsou readonly“ nebo „před pushnutím si mě varuj“ a on to zná. Je to prevence. Věřím mu, že si neudělá blbost, ale je lepší na to nekoukat.

MCP konfigurace a týmy

MCP servery jsou jako USB, které Claudemu zásuvnu. Jeden je GitHub — stahuje kód, dělá commits. Druhý je Notion — čte poznámky, píše je zpátky. Třetí je YouTube, čtvrtý je email, pátý web scraper. Celkově mám 113 skillů, všechny připojené a běžící na pozadí.

Konfigurace: řeknu Claudovi, kde servery jsou (URL, token). On si je najde a zkontroluje. Settings.json má seznam, které chci mít dostupné. Přidat nový MCP — přidám do settings a Claude jej aktivuje.

Týmy agentů spouštím, když mám víc než tři nezávislé úkoly. „Vezmi 5 specialistů a rozděl to mezi nimi“. Jeden čte GitHub, druhý píše obsah, třetí testuje, čtvrtý hlídá bezpečnost, pátý se kouká na metriky. Pracují paralelně. Když skončí, vidím všechny výsledky najednou. Je to jako řídit tým mechaniků — jeden na motoru, druhý na benzínáku, třetí na brzdách, všichni najednou. Jinak by to trvalo 5krát déle.

Není to povinné. Dělám to jen při větších věcech. Normálně jde Claude sám. Ale má to cenu: jestliže se podívám na velkou věc a vypadá to na hodinku práce, spustím tým a bude hotovo za 15 minut. V plánu Max se to ekonomicky vyplácí, když je to víc než 2 až 3 úkoly najednou.

Všechno tohle dohromady je jedna věc: mluvit s Claudem jako s týmem mechaniky. Já říkám, co chci. Týmu skládám z agentů, MCP serverů, pravidel a paměti. Nic z toho není magické. Jak to vypadá v praxi, najdeš v Můj stack.