Kapitola 2 · První kontakt · 10 min čtení
Otevři ukázkový projekt, nech Claude udělat jednu reálnou změnu, koukni, co se stane — na tvém stacku.
Dole máš dvě paralelní varianty — vyber si tu, která sedí k tvému dennímu stacku, a druhou přeskoč. Obě nepotřebuješ.
Naklonuj repo jednou a pak skoč do své varianty:
git clone https://github.com/ondrej-svec/claude-code-lab.git
cd claude-code-lab
Obě ukázky jsou The Guide — malá znalostní báze ve stylu Stopařova průvodce po Galaxii. První spuštění tě přivítá Sub-Etha boot sekvencí (v terminálu na .NETu, na obrazovce u python-react). Prolistuj seedované záznamy a pak se vrať sem na svou první reálnou změnu.
Otevři samples/dotnet-core/ v Claudu. Cíl: přidat DELETE /api/entries/{id}, aby Průvodce dokázal zapomenout záznamy, které neměl sbírat. Jedna konkrétní změna, celou smyčkou.
V Claude okně:
Přečti si Program.cs a Stores/EntryStore.cs, ať víš, co tam je, a pak přidej DELETE /api/entries/{id} endpoint. Vrať 204 při úspěchu, 404 když záznam neexistuje.
Co se právě stalo. Claude zatím nic needitoval. Přečetl oba soubory, načrtl plán, pojmenoval přesně, které soubory změní, a navrhl ověřovací krok. Žádný kód se nehnul. Tvar schvaluješ dřív, než přistane jediný znak.
Řekni ano. Claude změnu zapíše a ukáže jako diff, než ji aplikuje.

Metoda Remove na storu, route MapDelete v Program.cs. Nic jiného se nehnulo. Takhle „malý diff“ vypadá v praxi — pokud první pokus rozlezl, zúžni prompt a zkus znova.
V desktop aplikaci se ten samý diff otevře v bočním panelu vedle session, ne v inline výstupu:

Potvrď. Pak spusť sample:
Spusť aplikaci a zavolej DELETE /api/entries/3, ať ověříš, že to funguje. Pak GET /api/entries, aby ses ujistil, že počet klesl.

Máš běžící feature, kterou můžeš commitnout.
Když se něco pokazí
[paste] — oprav to.“ Claude vidí svoji vlastní změnu v kontextu a obvykle to opraví jedním krokem.Otevři samples/python-react/ v Claudu. Cíl: totéž — přidat DELETE /api/entries/{id} do FastAPI backendu. Jedna konkrétní změna, celou smyčkou.
V Claude okně:
Přečti si backend/main.py, ať víš, co tam je, a pak přidej DELETE /api/entries/{id} endpoint. Vrať 204 při úspěchu, 404 když záznam neexistuje.
Co se právě stalo. Claude se zatím žádného souboru nedotkl. Otevřel backend/main.py, načrtl plán a pojmenoval ověřovací krok, který chce spustit po úpravě. Plán je levný — můžeš ho odmítnout, přeformulovat, nebo potvrdit. Editace začíná až po y.
Řekni ano. Claude změnu zapíše a ukáže jako diff.

Jeden handler. Existující routy a middleware jsou nedotčené — dobrá agentní práce se nerozlézá.
Potvrď. Pak pusť backend:
Spusť uvicorn a zavolej DELETE /api/entries/3, ať ověříš, že to funguje. Pak GET /api/entries, aby ses ujistil, že počet klesl.

Máš běžící feature, kterou můžeš commitnout.
Bonus (když chceš frontend beat): požádej Claude, ať na každé kartě záznamu v React aplikaci přidá tlačítko smazat, které volá nový endpoint. Jedna změna komponenty, jedno fetch volání. Stejná smyčka, o patro výš.
Když se něco pokazí
[paste] — oprav to.“Obě varianty šly stejným tvarem: popiš → naplánuj → diff → spusť. Tenhle tvar je páteří každé agentní session. Zbytek labu si své místo zaslouží tím, že každý z těch čtyř kroků postupně dělá líp.
Pár signálů, které stojí za pojmenování teď, ať je později poznáš:
y, je levnější než kontrolovat špatný diff. Pozdější kapitoly posouvají plány dál — zapsané na disk, řízené dalšími příkazy, zkontrolované dřív, než se kód hne. Smyčka Compound Engineeringu v kapitole 7 je místo, kde to plně sedne.curl bylo skutečné schválení, ne stisk y na diffu. Kapitola 8 jde do hloubky na to, jak tohle ověřování dělat automatičtěji (testy, scany, CI review).Čtyři momenty. Jedna malá feature. Udělej totéž na skutečném repu zítra — stejný tvar, stejný rytmus.
Každá další kapitola končí blokem Praxe: pokračuj se svou ukázkou — tvoje ukázka roste s tebou, nebo vezmeš stejné pohyby rovnou na svoje vlastní repo.
Tahle smyčka — popiš, naplánuj, diff, zkontroluj, iteruj — je tvar, který Anthropic doporučuje na všechno. Jejich Claude Code best practices ↗ stojí za přečtení, až to procítíš.