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.