Publikováno před 6 dny

Claude Code: 6 kroků, aby začal fungovat jako kouzlo

Hledáte návod, jak správně nastavit Claude Code? Zjistěte, jak nakonfigurovat CLAUDE.md, LSP, MCP a automatické hooky. Ultimátní průvodce pro AI programování a vibecoding, díky kterému vám AI agent přestane rozbíjet kód.

Navazuje na školení vibecoding. Toto je verze pro programátory. Verze pro neprogramátory. Průběžně aktualizováno.

Krok 1: Jak nastavit CLAUDE.md – onboarding pro AI kolegu

Agentické kódování stojí a padá s kontextem, který AI o tvém projektu má. Spusť /init. Claude Code projde tvůj projekt a vytvoří soubor CLAUDE.md. Pozná toho překvapivě hodně – jazyk, framework, strukturu adresářů, jak spustit testy. Ale hodně taky ne. Neví, že lokální dev server běží na https://myproject.test:8443. Neví, že Pepa z vedlejšího týmu bude zuřit, když někdo změní formát API odpovědí. Neví, které soubory jsou generované a nemá na ně sahat.

Představ si to jako onboarding nového kolegy. Juniorovi nedáš padesátistránkový manuál (nepřečte si ho). Ale taky ho nehodíš do kódu bez kontextu (rozbije něco). Dáš mu stručný briefing: takhle spouštíme testy, takhle děláme deploy, tohohle se nedotýkej.

Co do CLAUDE.md patří:

  • Jak spustit testy, linter a formátovač
  • URL lokálního dev serveru
  • Konvence projektu: pojmenování souborů, struktura komponentů, coding style
  • Specifika a důležitá strategická rozhodnutí
  • Zákazy: „neměň soubory v generated/“ nebo „nespouštěj migrace bez ptaní“

Co tam nepatří: obecné poučky typu „piš čistý kód“. To je zbožné přání, ne instrukce.

CLAUDE.md je živý dokument, ne náhrobní kámen. Claude ti opakovaně přidává console.log do produkčního kódu? Přidej pravidlo. Za měsíc budeš mít CLAUDE.md, díky kterému Claude píše kód, jako bys ho napsal ty sám. Dobrý CLAUDE.md je dokumentace projektu, kterou konečně někdo čte (byť není živý).

Krok 2: Testy – jediná pojistka, která skutečně funguje

Řeknu to naplno: bez testů je Claude Code jako programátor, který pushuje přímo do main v pátek v pět odpoledne. Claude s testy je jako programátor s code review. Napíše kód, spustí testy, vidí červenou, opraví, spustí znovu, zelená. Tenhle feedback loop z něj dělá spolehlivého parťáka místo chaotického experimentátora.

„Ale já testy nemám,“ říkáš. Právě proto je tohle ideální první úkol pro Clauda:

Projdi projekt a napiš testy pro klíčovou byznys logiku. Začni tím, co je nejrizikovější.

Claude projde kód, identifikuje kritické cesty a napíše testy. Nebudou dokonalé – projdi je a nech Clauda, ať je dotáhne. Do CLAUDE.md pak zapiš, jak testy spustit – Claude musí vědět, jak si výsledek ověřit.

A sem patří i statická analýza – PHPStan, Pyright, TypeScript strict mode. Pokud jsi ji zatím odkládal, teď je ten správný moment. Claude s ní umí pracovat stejně jako s testy: spustí, přečte chyby, opraví. Konečně je nejvyšší čas na tuhle kvalitu kódu přejít.

Krok 3: LSP – ať Claude vidí kód tak, jak ho vidí IDE

Testy ti řeknou, co se rozbilo. Ale co kdyby Claude dělal míň chyb od začátku?

Bez LSP (Language Server Protocol) Claude pracuje s tvým kódem jako junior vybavený poznámkovým blokem. Čte soubory, hledá řetězce, hádá, co s čím souvisí.

S LSP je to profík s plnohodnotným IDE. Vidí typy, definice, reference, chyby. Ví, že metoda findByEmail vrací ?User a ne User. A ví to, protože se zeptá language serveru, stejně jako tvoje IDE.

Ukážu to na příkladu PHP. Nainstaluj plugin z Anthropic marketplace:

/plugin install php-lsp@claude-plugins-official

A k tomu příslušný language server (pro konkrétní jazyky viz dokumentace pluginů):

npm install -g intelephense

Mám za to, že LSP aktuálně vyžaduje nastavenou proměnnou prostředí ENABLE_LSP_TOOL=1. Na Windows:

setx ENABLE_LSP_TOOL 1

Možná budeš potřebovat přidat npm global bin adresář do systémového PATH, jinak Claude language server nenajde.

Po restartu se v projektu zeptej: „Ověř, že ti funguje LSP.“ Měl by potvrdit, že vidí typy a definice.

Windows bez WSL: Pokud Claude hlásí, že nemůže spustit language server – globální NPM balíčky na Windows vyžadují příponu .cmd. Workaround najdeš v tomto gistu.

Krok 4: Hooks – automatický linting bez přemýšlení

Hook je automatická akce, která se spustí pokaždé, když Claude provede určitou operaci. Ten nejužitečnější: linting po každé změně souboru. Claude upraví soubor, hook spustí linter, Claude vidí chyby a opraví je. Bez tvého zásahu.

Bez hooků: Claude napíše kód, ty otevřeš IDE, IDE podtrhne tři řádky, řekneš „oprav linting“, on opraví, ty zkontroluješ. S hooky tohle odpadá.

Nastavení v .claude/settings.json:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "command": "npm run lint:fix -- ${file}"
      }
    ]
  }
}

Nahraď npm run lint:fix za linter tvého projektu – php-cs-fixer, black, rustfmt, prettier, cokoliv používáš. Jeden hook, deset řádků konfigurace a Claude dodržuje tvůj coding standard automaticky.

Krok 5: Skills – opakující se postupy jako recepty

Deploy na staging. Vytvoření migrace. Přidání API endpointu. Code review checklist. Kolikrát týdně tohle děláš? A kolikrát zapomeneš jeden krok?

Skills jsou markdown soubory v .claude/skills/, které zachycují opakující se postupy jako recepty. Vytvoříš skill deploy, pak stačí napsat /deploy. Claude si otevře recept a postupuje podle něj, místo aby vymýšlel postup od nuly.

# Deploy na staging

1. Spusť testy: `npm test`
2. Zkontroluj, že všechny prošly
3. Buildni produkční verzi: `npm run build`
4. Pushni do větve `staging`
5. Počkej na CI pipeline
6. Ověř, že staging odpovídá na https://staging.myproject.cz

Výhoda oproti wiki, kterou nikdo nečte? Claude ten postup skutečně provede. Projde každý krok.

Formalizuj i to, co ti přijde samozřejmé. Jak pojmenováváš soubory. Jakou máš adresářovou strukturu. Jak formátuješ kód. Ty to víš, tvůj tým to ví, ale Claude to neví – bez explicitního pravidla si domyslí vlastní konvenci.

Nemusíš všechno psát od nuly. Pro Nette Framework existuje sada hotových skills a hooků v repozitáři nette/claude-code – moderní konvence, Latte šablony, NEON konfigurace, coding standard linter pro PHP. Podobné balíčky vznikají i pro další frameworky.

Krok 6: MCP pluginy – připojte Clauda k prohlížeči a službám

MCP (Model Context Protocol) dává Claudovi nástroje, které sám od sebe nemá. Otevřít prohlížeč, přečíst mail, podívat se do kalendáře – to všechno vyžaduje MCP server, který mu tu schopnost zpřístupní.

Pro webový vývoj je naprosto klíčové Chrome DevTools MCP. Claude díky němu vidí prohlížeč – naviguje stránky, kliká, vyplňuje formuláře, pořizuje screenshoty, analyzuje výkon. Stačí říct třeba „zkontroluj objednávkový proces“. Aktivuješ ho přes plugin:

/plugin install chrome-devtools-mcp

Od Anthropic jsou k dispozici také konektory na Google služby – Gmail, Google Calendar a další. Aktivuješ je přes Connectors v nastavení na webu Claude.

MCP server přidáš buď přes plugin (jednodušší), nebo ručně vytvořením souboru .mcp.json v kořenu projektu. Technicky jde buď o lokální proces (bývá to node, python, php, cokoliv), nebo o vzdálený server, na který se připojí přes URL. U serverů postavených na Node.js na Windows bez WSL narazíš na stejný problém jako u LSP s příponou .cmd – ale Claude Code to umí opravit, když ho na to upozorníš.

Pozor na pluginy od neznámých autorů. MCP pluginy obsahují přímé instrukce pro Claude Code. Plugin od nedůvěryhodného autora může Claudovi podstrčit škodlivé instrukce. Drž se oficiálních pluginů z Anthropic marketplace a pluginy třetích stran si projdi, než je nainstaluješ.

Kdy to začne fungovat jako kouzlo

Možná si říkáš: to je spousta nastavování. Nestačí prostě otevřít Claude Code a začít?

Stačí. Stejně jako stačí programovat v Notepadu bez verzování a bez testů. Jde to. Nedoporučuju to.

Fígl je v tom, že se kroky navzájem násobí. Claude s CLAUDE.md ví, co má dělat. S testy ví, jestli to udělal správně. S LSP rozumí kódu na úrovni typů. S hooky dodržuje standard. Se skills zná postupy. S MCP sahá na reálné služby.

Odeber cokoliv z toho a kvalita spadne víc, než bys čekal.

A mimochodem – tyhle principy nejsou jen o Claude Code. Vibecoding v Cursoru, Windsurfu nebo při použití GitHub Copilotu stojí na stejných základech: kontext projektu, testy, statická analýza, linting. Nástroje se liší, návyky zůstávají.

Na co si dát pozor v praxi

Dávej malé úkoly. „Přepiš celou aplikaci“ je recept na katastrofu. Jedna fíčura, jeden konkrétní problém. Čím konkrétnější zadání, tím lepší výsledek.

Říkej proč, ne jen co. Rozdíl mezi „přidej validaci“ a „přidej validaci, protože uživatelé posílají prázdné formuláře a server padá na NPE“ je při psaní pravidel (například v CLAUDE.md) obrovský. Claude s kontextem dělá výrazně lepší rozhodnutí.

Dlouhá konverzace = ztráta kontextu. Jeden úkol, jedna konverzace. Pro větší úkoly začni s čistým stolem.

Kontroluj výstup. Vždycky. Claude občas vytvoří kód, který projde testy a přitom je architektonicky špatně. Čti, co navrhuje, než potvrdíš. Pak ho to nech kriticky zhodnotit a třeba celé přepracovat.

David Grudl Zakladatel Uměligence a autor Nette Framework, populárního PHP frameworku. Od roku 2021 se naplno věnuje umělé inteligenci a učí lidi ji využívat v praxi. Spolu s kolegy z Tech Guys každý týden rozebírá tech novinky. Píše na phpFashion a La Trine. Věří, že AI není sci-fi, ale nástroj pro lepší život už dnes.