Nejčastější scénář prvního vibe codingu vypadá takto: napíšete „udělej mi aplikaci na rezervace“, AI během minuty vrátí něco, co vypadá skoro hotově, a vy jste nadšení. Pak požádáte o první úpravu, o druhou, o pátou. Najednou přestane fungovat něco, co předtím fungovalo, AI tvrdí, že chybu opravila, a vy už nevíte, co aplikace vlastně umí.
Chyba většinou není v nástroji, ale v zadání. AI si všechno, co jste neřekli, domyslí, a každou další zprávou domýšlí znovu a trochu jinak. Lékem je krátká specifikace: jedna stránka textu, která řekne, pro koho aplikace je, co umí, jaká data ukládá a co dělat nemá. Programátoři ji píšou desítky let a s AI je ještě důležitější.
Tento návod je třetím dílem série Tvoříme s AI. Pokud vibe coding teprve poznáváte, začněte úvodem do vibe codingu, a pokud jste ještě nic nepostavili, projděte si návod na první webovou aplikaci bez programování. Tady navážeme: ukážeme, jak zadat aplikaci, která je větší než jeden soubor, a jak udržet pořádek, když na ní pracujete týdny.
Co budete potřebovat
- Libovolný chatbot (ChatGPT, Claude, Gemini, Grok) nebo stavebnici v prohlížeči (Lovable, Bolt, v0, Replit, Google AI Studio). Všechno, co tu ukazujeme, funguje i v bezplatných tarifech.
- Textový soubor nebo poznámku, kam si specifikaci uložíte. Stačí Poznámkový blok, Google Dokumenty nebo Word.
- Zhruba 30 až 60 minut na první specifikaci. Ušetří vám několikanásobek času na opravách.
Kolik to stojí: samotné psaní specifikace nic. Ve stavebnicích, které účtují kredity za každou zprávu, ale dobré zadání šetří peníze přímo: méně oprav znamená méně spotřebovaných kreditů. Aktuální ceny a bezplatné limity nástrojů najdete v úvodu série.
Proč jedna věta nestačí
Když napíšete „udělej rezervační systém pro kadeřnictví“, AI musí sama rozhodnout desítky věcí: Rezervuje si zákazník sám, nebo zapisuje kadeřnice? Má každý zaměstnanec vlastní kalendář? Kolik trvá střih? Posílá se potvrzení e-mailem? Kde se data ukládají? Odpoví na všechno, ale ne nutně tak, jak byste chtěli, a hlavně o tom nebudete vědět.
Specifikace tyto otázky rozhodne předem. Má tři praktické výhody:
- AI dělá méně domněnek. Čím méně si musí domýšlet, tím víc se výsledek blíží tomu, co jste chtěli.
- Máte měřítko. Když víte, co má aplikace umět, poznáte, jestli je hotová, a ne jen jestli „vypadá dobře“.
- Můžete začít znovu. Specifikaci vložíte do nového chatu nebo jiného nástroje a nemusíte vše vysvětlovat od nuly.
Nemusíte psát technický dokument. Stačí srozumitelná čeština a odrážky. Důležité je, abyste rozhodli vy, ne AI.
Šablona specifikace
Zkopírujte si šablonu a vyplňte ji. Hranaté závorky nahraďte vlastním textem. Část, kterou nevíte, nechte prázdnou: AI se na ni v dalším kroku zeptá.
# Specifikace: [název aplikace]
## 1. Účel
Jednou až dvěma větami: jaký problém aplikace řeší a pro koho.
## 2. Uživatelé
- [typ uživatele 1]: kdo to je, co v aplikaci dělá, na jakém zařízení
- [typ uživatele 2]: ...
## 3. Funkce první verze (nejvýš 5)
1. [funkce] – kdo ji používá a jak pozná, že funguje
2. ...
## 4. Data
Co aplikace ukládá a kde (jen v prohlížeči, v souboru, v databázi).
- [položka]: [jaké údaje obsahuje, např. rezervace = jméno, telefon, datum, čas, služba]
## 5. Obrazovky
- [obrazovka 1]: co na ní je a kam z ní vede cesta
- ...
## 6. Co aplikace NEDĚLÁ (zatím)
- [např. žádné platby, žádné přihlašování, žádné e-maily, žádná anglická verze]
## 7. Technické mantinely
- Kde aplikace poběží: [jen u mě v počítači / na internetu / v telefonu]
- Nástroj: [chatbot / Lovable / Bolt / ...], technologie nechávám na AI, pokud nenapíšu jinak
- Jazyk rozhraní: čeština, datum ve formátu 16. 10. 2026, ceny v Kč
## 8. Osobní údaje a bezpečnost
- Ukládá aplikace údaje jiných lidí? [ano/ne, jaké]
- Kdo smí data vidět a měnit?
## 9. Hotovo znamená
- [konkrétní scénář, např. „zákazník si na telefonu zarezervuje střih na příští úterý a kadeřnice ho uvidí v přehledu“]
## 10. Otevřené otázky
- [co zatím nevím]
Nejdůležitější jsou body 3, 6 a 9. Omezení na pět funkcí brání tomu, aby se první verze rozrostla do neovladatelné podoby. Seznam toho, co aplikace nedělá, zastaví AI, když se snaží „pomoct“ funkcí, o kterou nestojíte. A popis toho, co znamená „hotovo“, je vlastně test, který si po každé změně zopakujete.
Ukázka: vyplněná specifikace
Pro představu, jak může specifikace vypadat u malé provozovny:
# Specifikace: Rezervace – Kadeřnictví Jana
## 1. Účel
Zákaznice si objednají termín online, místo aby volaly během stříhání.
## 2. Uživatelé
- Zákaznice: rezervuje termín na mobilu, bez registrace
- Jana (majitelka): na tabletu v salonu vidí přehled termínů a ruší je
## 3. Funkce první verze
1. Výběr služby (střih 45 min, barvení 120 min, foukaná 30 min)
2. Výběr volného termínu v otevírací době (út–pá 9–17, so 8–12)
3. Formulář: jméno a telefon, souhlas se zpracováním údajů
4. Přehled rezervací pro Janu po zadání hesla
5. Zrušení rezervace Janou
## 4. Data
- Rezervace: služba, datum, čas začátku, jméno, telefon, čas vytvoření
## 5. Obrazovky
- Úvod se seznamem služeb → výběr termínu → formulář → potvrzení
- Přehled pro Janu (po zadání hesla): seznam rezervací po dnech
## 6. Co aplikace NEDĚLÁ
- Žádné platby, žádné SMS ani e-maily, žádné účty zákaznic, žádné další zaměstnankyně
## 7. Technické mantinely
- Poběží na internetu, stavím ji v Lovable
- Rozhraní česky, časy ve 24hodinovém formátu
## 8. Osobní údaje a bezpečnost
- Ukládá jméno a telefon zákaznic; rezervace starší než 3 měsíce se mažou
- Data vidí jen Jana; heslo nesmí být uložené v kódu
## 9. Hotovo znamená
- Zákaznice si na mobilu zarezervuje střih na úterý v 10:00, stejný termín už si nikdo jiný nevybere a Jana ho uvidí v přehledu
## 10. Otevřené otázky
- Jak dlouho dopředu jde rezervovat? (asi 4 týdny)
Všimněte si, že ukázka obsahuje osobní údaje a přihlášení majitelky. To je přesně hranice, kde aplikace přestává být hračkou. Než takovou aplikaci zveřejníte, nechte ji zkontrolovat někým, kdo kódu rozumí. Bezpečnosti a datům se budou věnovat další díly série.
Krok 1: Nechte AI specifikaci prověřit, ne hned programovat
Nejlepší specifikaci nenapíšete sami, ale v rozhovoru s AI. Do chatu vložte prompt níže a pod něj vyplněnou šablonu. Body, které zatím nevíte, klidně vynechte nebo nechte prázdné: AI se na ně zeptá.
Níže je specifikace aplikace, kterou chci postavit. Zatím nepiš žádný kód a specifikaci zatím nepřepisuj. Odpověz stručně.
1. Ve 3 až 5 větách shrň, co aplikace bude dělat, ať vidím, jestli zadání rozumíš správně.
2. Polož mi nejvýš 7 očíslovaných otázek k rozporům, nejasnostem a chybějícím rozhodnutím, seřazených od nejzásadnější. U každé otázky navrhni výchozí odpověď, kterou můžu jen potvrdit.
3. Ve 2 až 4 bodech upozorni na rizika (osobní údaje, bezpečnost, věci zbytečně složité pro začátečníka) a navrhni jednodušší variantu, pokud existuje.
Odborné pojmy vysvětli jednou větou. Pak počkej na mé odpovědi. Potom se můžeš zeptat ještě nejvýš na 3 doplňující otázky.
Specifikace:
[vložte vyplněnou šablonu]
Na otázky odpovídejte čísly („1: ano, 2: jen telefon, 3: výchozí odpověď beru“). Pak si řekněte o finální verzi:
Zapracuj moje odpovědi do specifikace. Vrať ji celou ve stejné struktuře jako jeden blok kódu ```markdown, ať ji můžu rovnou zkopírovat. Nepřidávej nové funkce ani technické detaily, které jsme nedomluvili. V sekci funkcí nech nejvýš 5 funkcí, všechno ostatní přesuň na konec do sekce „Možná později“.
Výslednou specifikaci si uložte mimo chat jako soubor, například SPECIFIKACE.md. Bude to váš hlavní dokument, ke kterému se budete vracet.
Tip pro ChatGPT: Pokud ChatGPT místo bloku kódu otevře vedle chatu samostatné okno (plátno, anglicky canvas), text v něm označte (Ctrl+A, na Macu Cmd+A) a zkopírujte (Ctrl+C, Cmd+C), nebo ho požádejte: „Vypiš celou specifikaci přímo do chatu jako blok kódu.“
Krok 2: Plán po malých krocích
Ani s dobrou specifikací nechtějte celou aplikaci najednou. Velká změna znamená hodně kódu, ve kterém se chyba snadno schová, a když se něco pokazí, nevíte, co přesně. Požádejte nejdřív o plán:
Podle této specifikace navrhni plán stavby v 5 až 8 malých krocích. Zatím nepiš kód. Odpověz jen očíslovaným seznamem kroků, bez úvodu a dalších sekcí.
U každého kroku uveď:
- krátký název (nejvýš 5 slov),
- co krok přidá (jedna věc, kterou si vyzkouším),
- test: co mám udělat v prohlížeči a co mám vidět; test musí jít provést bez znalosti kódu a databází,
- co v tomto kroku NEDĚLAT.
Po každém kroku musí aplikace fungovat.
Specifikace:
[vložte specifikaci]
Pak postupujte krok za krokem. Prompt se liší podle toho, kde stavíte.
Chatbot, nebo stavebnice? Stavebnice (Lovable, Bolt, v0, Replit, Google AI Studio) a AI agenti (Cursor, Claude Code, Codex) vidí soubory projektu a změny do nich zapisují sami. Běžný chatbot (ChatGPT, Claude, Gemini, Grok) soubory nevidí: kód vám vypíše a uložit a spustit ho musíte vy. Proto potřebuje podrobnější pokyny a při opravách mu musíte kód vložit.
Ve stavebnici nebo u AI agenta:
Proveď krok [číslo] z plánu: [název kroku]. Měň jen to, co je k tomuto kroku nutné, a neměň nic, co už funguje. Neprováděj další kroky. Když si nejsi jistý, zeptej se dřív, než začneš. Na konci napiš, co se změnilo a jak mám krok otestovat.
V chatbotu:
Proveď krok [číslo] z plánu: [název kroku]. Neprováděj další kroky. Když si nejsi jistý, zeptej se dřív, než začneš.
Pokud níže nevložím dosavadní kód, počítej s tím, že začínáme s prázdným projektem.
Vypiš vždy celé soubory, ne jen změněné části. U každého souboru napiš jeho název, kam ho mám uložit a jak aplikaci spustím. Na konci napiš, jak mám krok otestovat.
Dosavadní kód (pokud existuje):
[vložte kód]
Po každém kroku aplikaci sami vyzkoušejte podle testu z plánu. Funguje? Uložte si verzi (záloha souborů nebo uložení verze ve stavebnici) a teprve pak pokračujte. Nefunguje? Popište konkrétně, co se stalo, a místo „oprav to“ chtějte nejdřív vysvětlení:
Krok [číslo] nefunguje.
- Kde aplikaci zkouším: [nástroj, prohlížeč, počítač nebo telefon]
- Postup: [co dělám, krok za krokem]
- Očekávaný výsledek: [...]
- Skutečný výsledek: [...]
- Chybová hláška nebo text z konzole prohlížeče (pokud je): [...]
- Související část kódu (pokud ji znám): [...]
Nejdřív vysvětli pravděpodobnou příčinu. Pokud potřebuješ vidět kód, napiš přesně, co mám vložit, a neodhaduj. Pak navrhni nejmenší možnou opravu. Opravu zatím neprováděj, počkej na moje „ano“.
Konzoli prohlížeče otevřete klávesou F12 (na Macu Cmd+Option+J v Chromu); červené řádky na kartě Console zkopírujte do zprávy.
Krok 3: Soubor s pravidly projektu
Specifikace popisuje, co stavíte. Kromě toho máte pravidla, jak má AI pracovat: odpovídat česky, neměnit vzhled bez dotazu, po každé změně napsat, jak ji otestovat. Psát je do každé zprávy je otravné a v dlouhém chatu je AI stejně začne přehlížet.
Nástroje proto umějí pravidla číst ze souboru nebo z nastavení projektu, a to na začátku každé konverzace. Pozor, pravidla nejsou zámek: dokumentace Claude Code výslovně uvádí, že je model bere jako kontext, ne jako vynucenou konfiguraci. Čím jsou kratší a konkrétnější, tím spolehlivěji je dodržuje.
Kde pravidla zadat v jednotlivých nástrojích
Ověřeno v oficiální dokumentaci k 16. 10. 2026. Nástroje řadíme abecedně.
| Nástroj | Kam pravidla patří | Co je dobré vědět |
|---|---|---|
| Claude Code | Soubor CLAUDE.md v kořeni projektu (nebo .claude/CLAUDE.md), podrobnější pravidla ve složce .claude/rules/ | Od verze 2.1.277 umí místo něj číst i AGENTS.md, ale ve výchozím nastavení jen tehdy, když v projektu žádný CLAUDE.md není. Chcete-li obojí, vložte do CLAUDE.md řádek @AGENTS.md. Příkaz /init založí první verzi souboru. Dokumentace doporučuje držet soubor pod 200 řádků (dokumentace). |
| Codex (OpenAI) | Soubor AGENTS.md v kořeni projektu, případně další ve vnořených složkách | Čte ho před začátkem práce; soubory bližší aktuální složce mají přednost. Celkový objem je ve výchozím nastavení omezen na 32 KiB (dokumentace). |
| Cursor | Soubory .mdc ve složce .cursor/rules/, nebo jednodušeji AGENTS.md v kořeni projektu | U souborů .mdc volíte, zda platí vždy, jen pro určité soubory, podle uvážení agenta, nebo jen po zmínce. Obyčejný .md v této složce Cursor ignoruje. Pravidla platí pro agenta, ne pro doplňování kódu Tab (dokumentace). |
| Gemini CLI | Soubor GEMINI.md; v nastavení lze jako název přidat i AGENTS.md | Uživatelům bezplatného tarifu a Google One od 18. 6. 2026 Gemini CLI nahradilo Antigravity CLI (dokumentace). |
| Lovable | Project knowledge v nastavení projektu (a Workspace knowledge pro všechny projekty) | Textové pole do 10 000 znaků, které má Lovable vždy v kontextu. Čte i AGENTS.md a CLAUDE.md v propojeném repozitáři (dokumentace). |
AGENTS.md je otevřený formát, obyčejný soubor Markdownu bez povinných polí. Podle jeho webu ho podporuje řada nástrojů včetně Codexu, Cursoru, Jules a Gemini CLI a dnes ho spravuje Agentic AI Foundation pod Linux Foundation (agents.md). Pokud nevíte, který nástroj budete používat za půl roku, je AGENTS.md nejbezpečnější volba: přenesete ho mezi nástroji beze změny.
V chatbotech (ChatGPT, Claude, Gemini, Grok) žádný takový soubor není, ale většina z nich nabízí projekty nebo vlastní instrukce, kam pravidla vložíte stejně. Kde ani to nejde, vložte pravidla na začátek každého nového chatu spolu se specifikací.
Šablona pravidel projektu
Tato šablona funguje jako AGENTS.md, CLAUDE.md i jako text do Project knowledge v Lovable. Je záměrně krátká.
# Pravidla projektu: [název aplikace]
## O projektu
- Aplikace: [jedna věta z účelu specifikace]
- Úplná specifikace je v souboru SPECIFIKACE.md. Před větší změnou si ji přečti.
- Zadavatel neprogramuje. Vysvětluj srozumitelně a bez žargonu.
## Jak pracovat
- Odpovídej česky.
- Dělej jen to, o co žádám. Nápady navrhni, ale neprováděj je bez souhlasu.
- Měň co nejméně kódu. Neměň vzhled, názvy ani strukturu, které se změny netýkají.
- Po každé změně napiš: co se změnilo, ve kterých souborech a jak to mám otestovat.
- Když si nejsi jistý, zeptej se a nehádej.
- Nepřidávej nové knihovny ani služby bez mého souhlasu.
## Bezpečnost
- Hesla, API klíče ani jiné tajné údaje nikdy nepiš přímo do kódu.
- Nesbírej osobní údaje nad rámec specifikace.
## Rozhraní
- Veškeré texty v aplikaci česky, datum ve formátu 16. 10. 2026, ceny v Kč.
Soubor rozšiřujte postupně. Dobré pravidlo pro přidání nového řádku najdete přímo v dokumentaci Claude Code i Cursoru: pravidlo dopište ve chvíli, kdy AI udělá stejnou chybu podruhé. Obecná přání typu „piš čistý kód“ nepomáhají, konkrétní pokyny typu „tlačítka mají text s velkým písmenem jen na začátku“ ano.
Krok 4: Kdy začít nový chat
AI nemá neomezenou paměť. Každý model pracuje s omezeným kontextovým oknem a v dlouhé konverzaci se starší pokyny a verze kódu mísí s novými. Lovable ve své dokumentaci přiznává, že ve velmi dlouhých konverzacích nemusí být pokyny dodržovány důsledně. Projevuje se to podobně všude:
- AI zapomíná rozhodnutí, která jste spolu udělali na začátku,
- vrací chyby, které už byly opravené,
- míchá staré a nové verze kódu,
- odpovědi jsou pomalejší a delší, než by musely.
Nový chat začněte, když se objeví dva z těchto příznaků, když dokončíte jeden krok plánu nebo když přecházíte k úplně jiné části aplikace. Ve stavebnicích a agentech, kteří pracují se soubory projektu, o kód nepřijdete: zůstane v projektu a nový chat ho načte znovu. U běžného chatbota si předem uložte aktuální verzi kódu.
Před odchodem ze starého chatu si nechte napsat předávací poznámku:
Než začnu nový chat, připrav předání projektu. Piš stručně, v bodech.
1. Stav: které kroky plánu jsou hotové a otestované, co je rozpracované nebo nefunguje, co je další krok.
2. Rozhodnutí z tohoto chatu: vypiš zvlášť všechna rozhodnutí, na kterých jsme se domluvili.
3. Co chybí ve specifikaci: která z těchto rozhodnutí v ní zatím nejsou a jak je tam doplnit.
4. Úvodní zpráva pro nový chat: jeden blok textu připravený ke zkopírování, který shrne projekt a stav.
Nejdřív doplňte do specifikace rozhodnutí z bodu 3. Do nového chatu pak vložte:
- úvodní zprávu z bodu 4,
- aktuální specifikaci,
- pravidla projektu, pokud je nástroj nenačítá sám,
- u chatbota i aktuální kód všech souborů.
Rozhodnutí, která mají platit trvale, vždy přepište do specifikace nebo do pravidel. Chat zapomíná, soubor ne.
Nejčastější chyby
- Specifikace jako přání Ježíškovi. Dvacet funkcí v první verzi je recept na chaos. Pět stačí, zbytek patří do „Možná později“.
- Specifikace, kterou nikdo neaktualizuje. Když se v průběhu rozhodnete jinak, opravte dokument. Jinak se k němu AI v novém chatu vrátí a „opraví“ aplikaci podle starého zadání.
- „Oprav to“ bez popisu. AI pak hádá, co je špatně, a často změní něco, co bylo v pořádku.
- Několik změn v jedné zprávě. Když se po třech změnách naráz něco rozbije, nevíte, která to způsobila.
- Příliš dlouhý soubor s pravidly. Desítky obecných pravidel se navzájem ředí. Krátký seznam konkrétních pokynů funguje lépe.
- Tajné údaje v pravidlech nebo specifikaci. Do souborů, které čte AI, a hlavně do souborů, které sdílíte nebo nahráváte na GitHub, nepatří hesla ani API klíče.
Jak jsme prompty testovali
Všechny prompty v tomto návodu jsme 16. 10. 2026 vyzkoušeli v bezplatné verzi ChatGPT bez přihlášení a podle výsledků je upravili. V jiných chatbotech a ve stavebnicích by měly fungovat podobně, ale tam jsme je netestovali. Odpovědi AI se navíc liší i při stejném zadání, takže výsledek nemusí odpovídat do písmene.
Co specifikace nezaručí
Dobré zadání výrazně snižuje počet chyb, ale neodstraní je. AI dál může tvrdit, že něco opravila, i když neopravila (proč si AI vymýšlí, vysvětlujeme v článku o halucinacích), a pravidla v souboru nejsou bezpečnostní pojistka. Každou změnu si proto vyzkoušejte sami, ukládejte funkční verze a aplikaci, která pracuje s cizími osobními údaji nebo penězi, nechte před zveřejněním zkontrolovat odborníkem.
Údaje o nástrojích jsme ověřili k 16. 10. 2026 v oficiální dokumentaci uvedené ve zdrojích. Funkce se mění rychle, před použitím proto zkontrolujte aktuální verzi dokumentace svého nástroje.
Časté otázky
Musím specifikaci psát v Markdownu?
Ne. Markdown (nadpisy s #, odrážky s -) je jen obyčejný text s jednoduchým formátováním, kterému AI dobře rozumí. Stejně dobře poslouží dokument ve Wordu, který do chatu zkopírujete.
Specifikaci mi může napsat AI, ne? Může pomoct, a krok 1 přesně to dělá. Rozhodnutí ale musí být vaše. Když necháte AI vymyslet i to, co aplikace má umět, jste zpátky u jedné věty a domýšlení.
Mám mít AGENTS.md i CLAUDE.md?
Většinou stačí jeden soubor. Pokud používáte víc nástrojů, pište pravidla do AGENTS.md a pro Claude Code vytvořte CLAUDE.md, který obsahuje jen řádek @AGENTS.md. Tak máte pravidla na jednom místě.
Jak dlouhá má specifikace být? Pro první verzi malé aplikace jedna až dvě strany. Delší specifikaci rozdělte: hlavní dokument a podrobnosti k jednotlivým částem v dalších souborech.
Shrnutí
- Než necháte AI psát kód, sepište krátkou specifikaci: účel, uživatelé, nejvýš pět funkcí, data, obrazovky, co aplikace nedělá a co znamená „hotovo“.
- Nechte AI specifikaci prověřit otázkami, teprve pak plán po malých krocích a po každém kroku test a uložení verze.
- Trvalá pravidla zapište do souboru:
AGENTS.mdfunguje ve více nástrojích, Claude Code používáCLAUDE.md, Cursor.cursor/rules/, Lovable Project knowledge. - Dlouhý chat začne zapomínat. Před novým chatem si nechte napsat předávací poznámku.
- Pokračujte úvodem do vibe codingu nebo si postavte první webovou aplikaci a vyzkoušejte šablonu rovnou na ní.
Načítám počet…
