Claude-CLI: Když potřebuješ AI přímo v terminálu7 min read

Už vás někdy nebavilo neustále přepínat mezi terminálem a webovým prohlížečem, když potřebujete rychlou odpověď od Claude v terminálu? Nebo potřebujete použít odpověď pro další práci a potřebujete si jí lehce zkopírovat přes terminálový pipe? Mě ano, a proto jsem si napsal claude-cli – jednoduchý bash script, který přináší sílu Anthropic Claude API přímo do vašeho terminálu.

Proč další CLI nástroj?

Jako občasný vývojář trávím čas i v terminálu. Ať už debuguji kód, píši jednoduché skripty pro automatizaci nebo jinak pracuji v terminálu, může se hodit rychlá konzultace s AI – třeba vysvětlení error hlášky, návrh regex patternu nebo rychlý code review – nechce se mi přepínat kontexty a otevírat browser.

Claude-CLI řeší přesně tento problém. Stačí napsat claude-cli "tvůj dotaz" a máte odpověď přímo v terminálu, krásně naformátovanou a připravenou k použití.


Co všechno umí?

Základní vlastnosti

Script nabízí vše, co od moderního CLI nástroje očekáváte:

  • Jednoduché dotazy – stačí zavolat claude-cli "Jak funguje Docker?" a máte odpověď
  • Výběr modelu – můžete použít Haiku a Sonnet pro rychlé dotazy nebo Opus pro komplexní úlohy
  • Permanentní konfigurace – API klíč a výchozí model se ukládají, nemusíte je zadávat pořád dokola
  • Krásné formátování – odpovědi jsou automaticky obarvené a formátované (můžete použít glow pro ještě lepší vzhled)

Kontextové okno – klíčová vlastnost

Tohle je funkce, na kterou jsem obzvlášť pyšný. Claude-CLI, pokud to potřebujete, umí pracovat s historií konverzace, neboli umí pracovat s kontextovým oknem:

Bash
# Zapnete kontextové okno jednou...
claude-cli --context-toggle

# ...a pak můžete vést plnohodnotnou konverzaci
claude-cli "Napiš mi funkci pro výpočet faktoriálu"
claude-cli "Teď ji přepiš rekurzivně"
claude-cli "A co iterativní verze s memoizací?"

Historie se ukládá lokálně v ~/.claude-cli-history a automaticky se posílá s každým dotazem. Script je chytrý a posílá s dalším dotazem historii pouze posledních 20 zpráv, aby zbytečně neplýtval tokeny.

Markdown formátování, které potěší oko

Jednou z věcí, které mě na CLI nástrojích často štvou, je špatná čitelnost výstupu. Proto jsem do claude-cli přidal formátování:

  • Nadpisy jsou barevné a mají různé úrovně (# fialová, ## modrá, ### tyrkysová)
  • Kód bloky mají zelený rámeček s názvem jazyka
  • Seznamy používají barevné odrážky
  • Citace jsou žluté s kurzívou
  • Inline kód má šedé pozadí

A pokud máte nainstalovaný glow, script ho automaticky použije pro ještě lepší výstup.

Technické zajímavosti

Bash? V roce 2025? Vážně?

Ano, záměrně jsem zvolil čistý bash. Proč?

  1. Nulové závislosti – kromě curl a jq (které má každý) nepotřebujete nic instalovat
  2. Přenositelnost – funguje na macOS, Linuxu, WSL, prakticky všude
  3. Jednoduchost – jeden soubor, 500 řádků kódu, každý si může script upravit jak potřebuje
  4. Rychlost – žádný startup overhead, žádné npm packages, prostě bash

Chytrá správa konfigurace

Script používá tři konfigurační soubory:

  • ~/.claude-cli-config – API klíč, výchozí model, nastavení kontextu
  • ~/.claude-cli-history – historie konverzace v JSON formátu
  • Všechny soubory mají práva 600 (pouze vlastník může číst)

Při aktualizaci konfigurace script vždy zachovává existující nastavení – pokud měníte model, API klíč zůstane, a naopak.

Efektivní práce s historií

Historie konverzace se ukládá jako JSONL (JSON Lines) – každá zpráva na vlastním řádku. To umožňuje efektivní append-only zápis bez nutnosti parsovat celý soubor:

JSONL
{"role":"user","content":"Ahoj Claude!","timestamp":"2025-08-15 10:30:45"}
{"role":"assistant","content":"Zdravím! Jak vám mohu pomoci?","timestamp":"2025-08-15 10:30:47"}

Praktické use cases

1. Rychlé code review

Bash
claude-cli "Je tento regex správný pro validaci emailu? ^[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z]{2,}$"

2. Debugging s kontextem

Bash
claude-cli --context-toggle

claude-cli "Mám tento error: undefined method 'map' for nil:NilClass"
claude-cli "Kód vypadá takto: users.map(&:email)"
claude-cli "Jak bych měl ošetřit nil hodnoty?"

3. Generování dokumentace

Bash
claude-cli "Vygeneruj mi README pro pyGame projekt $(cat main.py)" > README.md

Claude-CLI má i podporu stdin

Bash
cat main.py | claude-cli "Vygeneruj mi README pro pyGame projekt" > README.md

4. Rychlé překlady a vysvětlení

Bash
git log --oneline | head -5 | claude-cli "Přelož mi tyto commit messages do češtiny a vysvětli co dělají"

cat file.txt | claude-cli "Sumarizuj tento obsah"

echo "Hello world" | claude-cli "Přelož do češtiny"

df -h | claude-cli "Vyhodnoť stav disku"

Instalace za 30 sekund

Bash
# Stáhnout script
curl -O https://raw.githubusercontent.com/MikeshCZ/claude-cli/main/claude-cli

# Nastavit práva
chmod +x claude-cli

# Přesunout do PATH (volitelné)
sudo mv claude-cli /usr/local/bin/

# Nastavit API klíč
claude-cli -k YOUR_API_KEY

# A je to! Můžete se ptát
claude-cli "Jaká je vzdálenost mezi Zemí a Měsícem?"

Závěr

Claude-CLI vznikl jako malý projekt pro jednoduchou automatizaci, ale vyrostl v plnohodnotný nástroj, který používám denně. Je to důkaz, že někdy nejjednodušší řešení mohou být ta nejlepší – 500 řádků bashe, které vám ušetří hodiny času.

Pokud vás projekt zaujal, můžete:

  • ⭐ Dát hvězdu na GitHubu (to vás nestojí nic)
  • ☕ Koupit mi kafe pokud vám script ušetří čas (to vás prakticky taky nic nestojí a mě to potěší)
  • 🐛 Nahlásit bug nebo navrhnout vylepšení

Ale hlavně – zkuste to! Stáhněte si script a uvidíte, jak rychle se stane skvělým pomocníkem vašeho workflow.