ondrej.
· 7 min čtení

Claude Code workflow: jak nastavit autonomní vývojový loop

Jak používám Claude Code jako primární vývojový nástroj — Ralph autonomous loop, custom memory, CLAUDE.md instrukce a hooks. Reálný setup, kterým jsem shipnul DokladBot za 6 dní.

claude-codeworkflowautonomous-agentsproductivity

Většina lidí používá Claude Code jako lepší autocomplete. Já ho používám jako spoluvývojáře, který běží v autonomním loopu hodiny v kuse, drží si vlastní paměť o projektu a sám detekuje, kdy je úkol hotový. Tenhle setup mi umožnil shipnout DokladBot za 6 dní a vybudovat Krtek databázi se 98 640 firmami přes víkend.

Tady je celý workflow, krok po kroku.

Tři vrstvy: hooks, memory, loop

┌──────────────────────────────────────────────────┐
│  Ralph autonomous loop  (hours of work)          │
│  ┌────────────────────────────────────────────┐  │
│  │  Claude Code session                       │  │
│  │  ┌──────────────────────────────────────┐  │  │
│  │  │  CLAUDE.md  +  custom memory MCP     │  │  │
│  │  │  +  hooks (pre/post tool, stop)      │  │  │
│  │  └──────────────────────────────────────┘  │  │
│  └────────────────────────────────────────────┘  │
└──────────────────────────────────────────────────┘

Každá vrstva má jednu starost. CLAUDE.md říká agentu, jak se má chovat. Memory si pamatuje, co už ví. Ralph řeší, kdy zastavit a kdy pokračovat.

Vrstva 1 — CLAUDE.md jako systémový prompt projektu

Každý můj projekt má CLAUDE.md v rootu i v ~/.claude/CLAUDE.md jako globální. Lokální soubor řeší konvence projektu, globální řeší moje preference napříč prací.

Příklad globálního:

## Chování při rozhodování
- NIKDY se neptej na výběr možností — vždy automaticky pokračuj
- Když existuje více možností, VŽDY vyber druhou
- Nepotvrzuj akce — prostě je proveď
- Buď proaktivní a autonomní
 
## Code style
- Single quotes, semicolons (Biome strict)
- useImportType:error
- Po každé změně: `pnpm exec biome check .`

Tohle vypadá triviálně, ale rozdíl je markantní. Bez tohohle agent zastaví na každém rozcestí a ptá se. S tímhle běží v jednom tahu i hodinu.

Vrstva 2 — Custom memory přes MCP

Claude Code má tooly pro souborový systém, ale paměť mezi sessions je nulová. Spustíš nový session a začínáš od nuly. To je při sériové práci na produktu zbytečně drahé.

Postavil jsem claude-mem — MCP server, který indexuje archivy konverzací do Chroma vektorové DB. Před každou novou session si agent semanticky vyhledá, co už o projektu ví:

mcp__claude-mem__chroma_query_documents(['dokladbot SEO pipeline outline draft polish']);
// vrací posledních 10 zápisů ze všech předchozích sessions

V praxi to znamená, že když začnu novou session na DokladBotu, agent během 5 sekund ví:

  • že content pipeline má 3 fáze (outline → draft → polish)
  • že Velite je content layer a kde leží config
  • jakou konvenci jsem si zvolil pro frontmatter
  • jaké chyby jsem v minulých runech udělal a jak jsem je řešil

Bez paměti je každá session start-from-zero. S pamětí je to jako kdybys do kanceláře přišel kolega, který tam včera celý den seděl.

Vrstva 3 — Ralph autonomous loop

Tohle je moje open-source vrstva: github.com/ondrejknedla/ralph-claude-code.

Claude Code je výborný pro ad-hoc úkoly. Ale když potřebuješ, aby agent běžel hodiny na jednom velkém úkolu (refaktor, mass migration, content generation), narazíš na tři problémy:

  1. Rate limit — API ti hodí 429 a ty nevíš, kdy a jak resumovat
  2. End-of-task detection — kdy agent skutečně skončil vs. kdy jen čeká?
  3. Session continuity — když se něco rozbije, jak naváže další session?

Ralph řeší všechny tři. Architektura je jednoduchá:

# pseudokód, plný zdroják v repu
while not done:
  output = run_claude_code_session(task)
 
  if rate_limited(output):
    backoff = exponential_backoff()
    sleep(backoff)
    continue
 
  if end_of_task_detected(output):
    persist_session_manifest()
    break
 
  if idle_too_long():
    nudge_agent('keep going or finalize')

End-of-task detection je heuristika nad výstupem agenta — sleduji konkrétní fráze ("done", "complete", "finished") a idle timeout. Nepoužívám LLM-based klasifikátor, protože false positive na "done" tě stojí dalších 30 minut runtime, ale heuristika ve většině případů stačí.

Reálný příklad — DokladBot za 6 dní

Když jsem shipoval DokladBot, vypadal moje den takhle:

DenCo Claude Code udělalMůj zásah
1Bootstrap Next.js 15, Velite content layer, schemaCode review, drobnosti
2Resend integrace, transakční emaily, 3 templatyNávrh copy textu
3SEO meta strategy, 109 outline → draft → polish runůSchválení outlines
4Vercel deploy, edge cache, blog routingDoménové DNS
5Bug fixing přes Ralph autonomous loopSpím
6Final polish a launchTweet

~90 % kódu napsal Claude Code. Já jsem dělal architecture decisions, copywriting a code review. Ralph běžel celé noci na bug fixing a content generation.

Výsledky a metriky

  • DokladBot: idea → produkce za 6 dní, 109 článků shipnutých
  • Krtek: 98 640 firem nascrapováno za víkend (Bun + Playwright pipeline)
  • Tahle webová stránka: 13+ case studies, multilingual, edge-cached za 4 dny

Když lidi říkají "AI nepostavila nic produkčního", obvykle nevyzkoušeli pořádný setup. Claude Code + Ralph + custom memory není autocomplete — je to plnohodnotný spoluvývojář, jen ho musíš správně zorganizovat.

Co dál

Pokud máš zájem o detaily konkrétní vrstvy:

A pokud řešíš podobný setup ve svojí firmě, pojď to probrat na callu.