← Rozcestník
✦ Setup wizard

Cursor — od nuly k profíkovi

Nahoře základy, dole kuchařka promptů (A–E sekce si rozklikneš podle potřeby). Detailní části jsou v rozbalovacích boxech — rozbal si, co zrovna potřebuješ. Odborná slova mají tooltipy.

Česky Jeden HTML soubor Offline Nováček i profík

Cursor za 2 minuty

💡

Co to je

Editor kódu (IDE) s AI. Umí sama psát kód, upravovat soubory a spouštět příkazy.

⌨️

3 hlavní věci

Tab = dopsání kódu. Ctrl+K = rychlá úprava označeného. Ctrl+L = chat s AI o projektu.

🤖

Agent

Agent místo tebe provede celý úkol. Ty kontroluješ a odsouhlasíš.

📋

Rules

Rules jsou pravidla vždy aktivní — „piš česky", „nemaž toto".

📄

AGENTS.md

Soubor v kořeni projektu = „README pro AI". AI si ho přečte, když ji k němu pustíš nebo sama najde — není to ale auto-injekce do každého promptu.

🧩

Skills

Skills jsou hotové postupy pro AI.

🔌

MCP

MCP přidá AI nové schopnosti (prohlížeč, DB, cloud).

💬

@-odkazy

V chatu napíšeš @ a přidáš kontext: @File, @Folder, @Docs, @Web, @Git.

Prvních 5 minut — checklist

Stáhni a nainstaluj Cursor

Z cursor.com. Při prvním spuštění nech import nastavení z VS Code (pokud ho máš).

Přihlaš se

Google / GitHub / e-mail. Bez přihlášení AI funkce neběží.

Otevři složku s projektem

Ctrl+O a vyber složku. Cursor ji bere jako tvůj projekt.

Nastav si sebe jednou a natrvalo

Settings → Rules for AI → vlož profil. Šablonu podle své role najdeš v kuchařce → A1.

Zkus tři zkratky

Tab přijme návrh. Ctrl+K upraví označený kód. Ctrl+L otevře chat.

Polož první otázku

V chatu napiš: „Prohlédni projekt a řekni mi ve 3 větách, co tohle repo dělá."

3 hlavní nástroje, které hned poznáš

Tab dopisuje. Ctrl+K upraví označené. Ctrl+L je chat s AI, která zná tvůj projekt. To je 80 % práce.

Kdy co použít

Tab — autocomplete

Nejrychlejší. Dopíše i víc řádků. Tab přijme, Esc odmítne.

Ctrl+K — inline úprava

Označ, zmáčkni, řekni co chceš. Dostaneš diff na potvrzení.

Ctrl+L — chat / Agent

Mění víc souborů, spouští příkazy. Vše vidíš před potvrzením.

Pravidlo palce: malá věc = Tab nebo Ctrl+K. Velká věc přes více souborů = Ctrl+L (Agent).

Kde co bydlí — nastavení

Cursor má dvě úrovně: uživatelskou (všechny projekty) a projektovou (jen aktuální). To je celý princip.

Uživatelská (globální)

Tvůj profil, styl odpovědí, klávesy, téma. Windows: %USERPROFILE%\.cursor\. macOS/Linux: ~/.cursor/. Taky přes Settings v aplikaci.

Projektová

Pravidla konkrétního repa. Ve složce .cursor/ v kořeni projektu + soubor AGENTS.md.

Co přesně je kde

V uživatelské složce

  • skills-cursor/ — tvoje vlastní Skills
  • plugins/ — nainstalované pluginy
  • mcp.json (někdy) — globální MCP servery
  • settings.json — klasický JSON editoru

V projektové složce .cursor/

  • rules/*.mdc — projektová pravidla
  • mcp.json — projektové MCP servery (sdílené s týmem)
  • hooks.json — automatizace

V kořeni projektu

  • AGENTS.md — návod projektu pro AI
  • README.md — návod pro lidi
  • .envtajemství, nesmí do Gitu

Rules — co, kam a jaké pravidla přidávat

Rules jsou krátké instrukce, které AI dostává automaticky do každé konverzace. Tři úrovně: uživatelské (ve všech projektech), projektové (jeden projekt) a auto-připojované (jen u určitých typů souborů).

Uživatelské (všude)

Settings → Rules for AI. Tvůj jazyk, OS, styl, věci co AI nikdy nemá dělat.

Projektové

Soubory .cursor/rules/*.mdc. Konvence a zákazy konkrétního repa.

7 kategorií pravidel, co se vyplatí mít

Dobrá Rules sada pokrývá těchto 7 oblastí. U každé máš příklad, co tam napsat:

1) Jazyk a komunikace

# Komunikace
- Odpovídej česky. Technické termíny česky i anglicky.
- Tykej mi.
- Krátké a věcné. Žádné "jistě, rád pomůžu".
- Když si nejsi jistá, radši se zeptej, než abys hádala.

2) Formát odpovědí

# Formát odpovědí
- U úprav kódu nejdřív diff, pak 2–3 věty vysvětlení.
- U větších úkolů nejdřív plán v bullet pointech, pak teprve kód.
- Dlouhé texty členit podnadpisy.
- Nepoužívej emoji, pokud o to výslovně nepožádám.

3) Kódové konvence

# Kód
- TypeScript striktně. Žádné `any`, pokud to nejde jinak.
- 2 mezery, bez středníků (Prettier default).
- Komponenty funkční + hooks (žádné class komponenty).
- Pojmenování: camelCase, komponenty PascalCase, konstanty UPPER_SNAKE.
- Komentáře jen když vysvětlují **proč**, ne **co**.

4) Závislosti a knihovny

# Závislosti
- Nikdy neměň verze v package.json bez mého souhlasu.
- Nepřidávej nové knihovny, pokud to jde řešit standardními.
- Preferuj: zod pro validaci, zustand pro state, TanStack Query pro fetch.
- Zakázané: moment.js (používej date-fns), lodash (použij nativní JS).

5) Bezpečnost a zákazy

# Co NIKDY nedělat
- Nespouštět destruktivní příkazy: rm -rf, git push --force, drop database.
- Necommituj soubory .env*, credentials.json, secrets.*, *.pem.
- Nepsat tajemství do kódu — vždy z process.env.*.
- Nepřepisovat migraci, která už byla spuštěná.
- Nepushovat do main/master bez PR a potvrzení.

6) Testování a kontrola

# Testy a validace
- U nové funkce vždycky doplň alespoň jeden test.
- Vstup z venku (URL, form, API) vždy validuj přes zod.
- Po změně kódu spusť lint a ukaž výstup.
- Před commitem zkontroluj, že `npm run build` projde.

7) Workflow (Git, commity, PR)

# Git & workflow
- Commity v Conventional Commits: feat: / fix: / chore: / docs: / refactor:
- Jeden commit = jedna logická změna. Necommituj 5 věcí najednou.
- Větve: feat/nazev, fix/nazev, chore/nazev.
- Před otevřením PR: lint + test + build.
Jak dlouhá by Rules měla být? Celkově raději pod 100 řádků. Dlouhé Rules = AI je přestane brát vážně. Co pořád opakuješ v chatu, dej sem. Zbytek řeš ad hoc.
4 typy pravidel (always / auto-attached / agent-requestable / manual)
  • Always (alwaysApply: true) — aktivní v každé zprávě a přežije i auto-summary. Pro základní styl, zákazy, kritická pravidla.
  • Auto-attached — aktivní jen když je v kontextu soubor odpovídající globs (např. jen pro **/*.tsx).
  • Agent-requestable — AI si je sama vyžádá, když zjistí, že jsou relevantní. Pro méně časté postupy.
  • Manual — aktivuješ je explicitně odkazem v chatu.

Šablona souboru .cursor/rules/react.mdc (auto-attached)

---
description: Pravidla pro React komponenty
globs: ["**/*.{tsx,jsx}"]
alwaysApply: false
---

# React pravidla (aktivní jen u TSX/JSX souborů)
- Komponenty funkční, hooks místo tříd.
- Props typuj přes interface, ne type alias.
- Žádný `useEffect` pro jednoduché výpočty — použij `useMemo`.
- Každá komponenta: 1 export default, max 200 řádků.

Šablona souboru .cursor/rules/core-rules.mdc (alwaysApply: true)

Toto je nejspolehlivější způsob, jak zajistit, že AI tvoje kritická pravidla nikdy nezapomene — ani po auto-summary dlouhého chatu.

---
description: Jádro pravidel projektu — vždy v kontextu.
alwaysApply: true
---

# Jádro pravidel (vždy aktivní)

## Komunikace
- Tykej mi, odpovídej česky.
- Krátce, věcně, žádné „jistě, rád pomůžu".
- Piš o sobě v ženském rodě (nebo jakkoli chceš).

## Co NIKDY dělat bez mého pokynu
- `git push`, `git reset --hard`, `git commit --amend`
- Deploy na produkci, publikování verzí
- Mazání souborů v `releases_archive/` nebo `.env*`
- Build instalačních balíčků (MSI, AppX, DMG)

## Když si nejsi jistá
- Zeptej se. Lepší 3× zeptat než 1× rozbít produkci.
Tip: Wizard Cursor setup ti tuhle šablonu vyrobí na míru z tvých odpovědí — už s vyplněnými pravidly.
⚠ Pozor na dlouhé chaty — auto-summary a co přežije

Když chat přeteče kontextové okno, Cursor starou historii nahradí krátkým souhrnem. V tu chvíli AI zapomene všechno, co nebylo „trvalé". Tohle se stává typicky po 1–3 hodinách práce v jednom chatu.

Co přežije auto-summary, co ne

Kde je pravidloPřežije summary?Pozn.
User Rules (Cursor Settings → Rules)✅ AnoGlobální, injektuje se vždy.
.cursor/rules/*.mdc s alwaysApply: true✅ AnoPer-projekt, injektuje se vždy.
.cursor/rules/*.mdc s alwaysApply: false⚠ Jen u matchujících souborůAuto-attached, agent-requestable, manual.
AGENTS.md❌ Ne automatickyAI ho musí aktivně přečíst (Read tool).
@-odkazy (@File, @Folder)❌ Většinou neKontext z minulých zpráv se po summary ztratí.
Instrukce z chatu („od teď mi nemaž X")❌ NePatří do Rules, ne do jednoho chatu.
Praktické doporučení: Pro kritická pravidla (HARD LOCKy, styl, zákazy) použij alwaysApply: true. AGENTS.md drž pro detaily (monorepo mapa, build workflow, release proces) — v shrnutí pravidel nemůže spolehlivě přežít.
Vzor z praxe: Krátké .cursor/rules/core-rules.mdc (50–150 řádků) + plný AGENTS.md (s detaily). Core rule drží „co nesmí odejít", AGENTS.md drží „kde co je".

AGENTS.md — návod projektu pro AI

Soubor v kořeni, kde AI hned zjistí, o co v projektu jde, jaký je tech stack, jak to spustit a co rozhodně nemá dělat. Vytvořit ti ho může sama AI — viz prompt A3.

Hotová šablona AGENTS.md
# AGENTS.md

## Co je tento projekt
Jednou větou: co dělá a pro koho.

## Tech stack
- Node 20, TypeScript 5, Vite, React 18
- Cloudflare Workers (wrangler)

## Struktura složek
- `src/` – frontend
- `worker/` – backend
- `docs/` – dokumentace
- `scripts/` – build a release

## Jak spustit
```bash
npm install
npm run dev
```

## Konvence
- Commity: Conventional Commits (feat:, fix:, chore:)
- Nikdy neměň verze závislostí bez dotazu.
- Před PR: `npm run lint && npm test`.

## Co AI NEMÁ dělat
- Nemazat soubory v `releases_archive/`.
- Nepushovat do `main` bez potvrzení.
Dobře napsaný AGENTS.md je 10× účinnější než instrukce v chatu.

Jak řídit Agenta — co říct, co neříct

Agent umí pracovat samostatně — číst soubory, psát je, spouštět příkazy. Aby ti nedělal zbytečné škody ani zbytečnou práci, řiď se těmito zásadami.

✓ Co Agent umí

Číst repo, editovat soubory, spouštět terminál, volat MCP nástroje, generovat obrázky, commitovat, otevírat PR.

✗ Co Agent neumí dobře

Hádat tvůj záměr bez kontextu. Dělat správná rozhodnutí bez plánu. Nečíst celé repo najednou.

⚠ Kdy ho přibrzdit

Destruktivní příkazy (rm -rf, drop, force push), změny závislostí, mazání historie.

Techniky řízení Agenta (krok za krokem)

1) Začni v Plan režimu

U čehokoliv většího než 2 soubory: přepni na Plan, nech si napsat plán, zkontroluj, schval. Teprve pak přepni na Agent.

Jsem v Plan režimu. Navrhni postup pro [úkol].
Chci:
- 5–8 kroků, každý = 1 commit,
- pro každý krok: co se změní a v jakém souboru,
- rizika a otevřené otázky (polož mi je).
Nic neimplementuj, jen plán.

2) Dělej po krocích s kontrolou

Proveď KROK 1 z plánu. Po jeho dokončení:
- spusť lint a test,
- ukaž mi diff,
- ČEKEJ na můj souhlas, než půjdeš na krok 2.

3) Explicitně zakaž destruktivní akce

Během celé této úlohy NESMÍŠ:
- mazat soubory mimo ty, co jasně vytvoříš sama,
- pushovat na remote,
- měnit package.json (verze nebo závislosti),
- spouštět migrace na DB.

Když narazíš na potřebu toho udělat, zastav se a zeptej.

4) Dej mu "rozpočet na chybu"

Pokud 2× po sobě selže lint/test a nevíš proč, zastav se
a řekni mi co jsi zkusila a kde si nevíš rady.
Nepouštěj se do divokých experimentů.

5) Chtěj doklady (evidence)

Tvrdíš, že to funguje? Ukaž mi:
- přesné příkazy, které jsi spustila,
- výstup (relevantní řádky, ne celý log),
- jak jsi to ověřila.
Když to nemůžeš doložit, napiš "neověřeno".

6) Nepleť Agenta šumem

Do jedné zprávy dávej jeden úkol. Netahej do chatu půlku repa — spíš @File konkrétně. Nová úloha = nový chat (nebo aspoň jasné "zapomeň předchozí kontext, začínáme znova").

Pravidlo palce: Agent je skvělý junior. Dej mu jasný úkol, kontrolovatelný výstup a jasné zákazy. Neočekávej od něj senior rozhodnutí — ta dělej ty.
Co říkat (✓) a co neříkat (✗) — konkrétní fráze

✓ Dobré fráze

„Nejdřív mi ukaž plán, nic neimplementuj."
„Proveď jen krok 1 a zastav se."
„Ukaž mi diff před aplikováním."
„Zkontroluj, jak to dělá existující kód v @File, a drž se stejného vzoru."
„Když si nejsi jistá, zeptej se."
„Dodrž konvence z AGENTS.md."

✗ Problémové fráze

„Udělej to jak myslíš." — nemá rámec.
„Oprav ten bug." — bez kontextu hádá.
„Přepiš celý projekt na…" — dopadne špatně.
„Udělej to co nejlíp." — subjektivní, fantazíruje.
„Až to bude hotové, commitni a pushni." — riziko force-push nebo nedokončené práce.

O tobě & styl komunikace

Uživatelské Rules obsahují profil (kdo jsi) a styl komunikace (jak s tebou mluvit). Šablony pro různé role a styly najdeš v kuchařce → A1 a A2.

4 pravidla dobré komunikace s AI

Buď konkrétní

Ne „oprav bug", ale „v api.ts funkce fetchUser vrací 401 — přidej refresh tokenu".

Dej kontext

Přetáhni soubory (@File), nalep chybu, napiš co už jsi zkusil.

Řekni formát

„Jen diff, bez vysvětlení." „Plán v 5 bodech."

Omez rozsah

„Neřeš backend, jen UI." „Neupravuj testy."

Režimy: Agent / Plan / Ask

Agent píše a spouští. Plan jen plánuje (nic nemění). Ask jen odpovídá (read-only). Přepínač je nahoře v chatu.

Kdy který režim

Agent

Implementace, refactor, setup. Mění soubory, spouští příkazy.

Plan

Read-only. Nejdřív plán, pak Agent. Skvělé pro větší úkol.

Ask

Jen odpovídá. Ideální pro učení, code review, pochopení repa.

Zlaté pravidlo: u větší změny začni v Plan, odsouhlas plán, přepni na Agent.

Skills — hotové postupy pro AI

Skill je složka s SKILL.md, která popisuje jak udělat určitý typ úkolu. AI si ji sama vytáhne, když zjistí, že je potřeba. Vytvořit si vlastní Skill můžeš promptem A5.

Kde Skills bydlí + minimální šablona
  • Uživatelské: ~/.cursor/skills-cursor/<nazev>/SKILL.md
  • Z pluginů: ~/.cursor/plugins/cache/<publisher>/<plugin>/skills/
  • Projektové: dle konvence týmu
---
name: release-notes
description: Vygeneruj release notes z commitů od posledního tagu.
when_to_use: Když uživatel řekne "release notes", "changelog".
---

# Postup
1. Zjisti poslední tag: `git describe --tags --abbrev=0`.
2. Vypiš commity: `git log <tag>..HEAD --pretty=format:"- %s"`.
3. Seskup do kategorií: Features / Fixes / Chore.
4. Vrať markdown připravený na GitHub release.

# Omezení
- Nevymýšlej si featury, co v commitech nejsou.
- Ignoruj merge commity.
Skill vs. Rule: Rule je pravidlo, co platí pořád. Skill je postup, co se vytáhne jen když je potřeba.

Subagenti — specializovaní pomocníci

Hlavní agent (ten, s kým píšeš) si sám pouští subagenty na dílčí úkoly. Běží často paralelně a zase vrátí výsledek.

Typy subagentů

explore

Rychle prozkoumá velké repo (jen čte).

shell

Spouští příkazy v terminálu.

browser-use

Ovládá prohlížeč (testy UI, screenshoty).

code-reviewer

Projde hotovou featuru proti plánu.

ci-watcher

Hlídá CI a hlásí výsledky.

best-of-n-runner

Zkusí víc variant řešení vedle sebe.

MCP & Hooks

MCP servery přidávají AI nové schopnosti (prohlížeč, DB, Cloudflare…). Hooks spouští skripty v určitý moment (např. lint po úpravě). Přidání MCP serveru je v promptu A6.

Konfigurace MCP a Hooks

MCP — kde se zapíná

  • Settings → MCP (klik „Install / Enable")
  • Nebo .cursor/mcp.json v projektu (sdílené týmu přes Git)
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "C:/projekty"]
    },
    "cloudflare": {
      "url": "https://mcp.cloudflare.com/sse"
    }
  }
}
MCP servery mají reálný přístup (disk, síť, API). Instaluj jen ty, kterým věříš.

@-odkazy v chatu

Napíšeš @ a přidáš do kontextu konkrétní věc: soubor, složku, dokumentaci, web, nebo obsah terminálu.

Všechny typy @-odkazů

@File / @Folder

Přesně určí, které soubory/složky AI číst.

@Code

Konkrétní blok kódu (funkce, třída).

@Docs

Oficiální dokumentace knihovny (React, Next.js).

@Web

AI si něco dohledá na internetu.

@Git

Kontext z historie commitů / diff.

@Terminal

Obsah terminálu (výstup posledního příkazu).

Méně bývá více. Nehromaď půlku repa — AI si pak plete priority.

Soubory a workspace

Cursor vidí všechno ve složce, kterou máš otevřenou (workspace). Můžeš do chatu soubory přetahovat, vkládat přes @File, nebo mít soubor s úkoly, co AI projede po řadě.

Přetažení (drag & drop)

Chytni soubor v panelu vlevo a upusť do chatu. U obrázků stejně — AI ho uvidí jako vstup.

@File / @Folder

Napsání @ otevře našeptávač. Rychlejší než přetahování.

Kopírování textu

Chybu z terminálu nebo kus kódu nalep jako běžný text.

Soubor s úkoly

Připrav tasks.md, pak řekni: „proveď úkoly z @File tasks.md". Viz C6.

Praktické triky s workspace

Workspace = složka, co vidí AI

Všechno uvnitř otevřené složky má AI k dispozici. Podsložky jako node_modules, dist, .git AI ignoruje (jsou v .cursor/ignore / .gitignore).

Více projektů současně

Můžeš otevřít více složek jako multi-root workspace (File → Add Folder to Workspace). AI pak vidí obě — užitečné pro frontend + backend v oddělených repech.

Šablona tasks.md

# Úkoly pro Cursor — projekt [název]

## Priorita 1
- [ ] Přidej dark mode toggle do `Header.tsx`
- [ ] Oprav focus-visible v Menu (a11y)
- [ ] Vygeneruj novou app ikonu do `public/icons/`

## Priorita 2
- [ ] Napiš testy pro `utils/date.ts`
- [ ] Přidej sitemap.xml a robots.txt

## Deploy
- [ ] `wrangler deploy --env=preview`
- [ ] Zkontroluj v prohlížeči
- [ ] `wrangler deploy --env=production`

Pak v chatu: „Proveď úkoly z @File tasks.md postupně, po každém commitni a zaškrtni [x]."

Obrázky vygenerované AI — kam se ukládají

Ukládají se do aktuálně otevřeného workspace. AI ti po vygenerování vypíše přesnou cestu. V promptu vždycky řekni, kam uložit.

Doporučená struktura

public/images/ — obrázky pro web
public/icons/ — ikony aplikace
assets/generated/ — scratch / experimenty
docs/images/ — obrázky do dokumentace

Co si ověřit

Po vygenerování klikni na cestu v odpovědi AI — Cursor soubor otevře. Nebo v terminálu dir public\images (Windows) / ls public/images.

Best practices — formáty, velikosti, retina
  • Obrázky pro web dej do public/ — jsou pak dostupné na URL /images/xyz.png.
  • Velké obrázky převeď do WebP/AVIF („převeď public/images/*.png do WebP, kvalita 85, pomocí sharp").
  • Ikony vždy generuj 2× větší než potřebuješ (retina).
  • Hromadná úprava: „Zmenši všechny obrázky v public/images/ na max 1600px šířky."

Git & PR

AI zvládne commity, větve i pull requesty. Prompt je E6.

Konkrétní pokyny pro AI
  • „Udělej commit s popisem podle diff." — zpráva dle Conventional Commits.
  • „Vytvoř větev feat/login, přesuň tam změny, otevři PR."
  • „Vyřeš merge konflikty v @File."
AI nesmí dělat git push --force ani mazat větve bez souhlasu.

Terminál & dlouho běžící úlohy

Agent má vlastní terminál. Dev servery běží na pozadí. Windows: v Rules napiš, že používáš PowerShell.

PowerShell specifika (Windows)
  • V PowerShellu neřetězíme přes &&, ale středníkem ;.
  • Zamrzlý proces: „Ukonči proces na portu 5173 a spusť dev server znovu."

Bezpečnost & tajemství

Nikdy nelep tokeny a hesla do chatu. Dej je do .env, čti přes process.env.*, do Gitu nikdy.

Checklist bezpečnosti
  • Do Rules: „Nikdy necommituj .env*, credentials.json."
  • MCP a Hooks mají reálný přístup — kontroluj, co jim povolíš.
  • Před publikací: git log -p | rg -i "token|secret|apikey".

Čeho se v promptu vyvarovat

Vágní pokyny, negace, „udělej vše najednou", kopírování chybových hlášek bez kontextu, žádání toho, co model nemůže (spuštění věcí mimo sandbox, skutečný internet bez nástrojů).

Detailní seznam formulací, co AI plete nebo vedou ke špatnému výsledku

🚫 „Udělej to hezky / líp / cool"

AI neví, co je hezké. Místo toho: „použij design tokeny z globals.css, dodrž 8px grid, zaoblení 12px, kontrast AA".

🚫 „Oprav všechny bugy v appce"

Moc široké, AI začne měnit náhodné věci. Buď konkrétní: „v @UserForm.tsx klikání na Submit dvakrát způsobí duplicitní POST — najdi a oprav".

🚫 Negace bez náhrady

„Nepoužívej React hooks" — OK, ale co použít místo toho? AI bez alternativy často použije horší variantu. Napiš „místo hooks použij class komponenty".

🚫 Lepení dlouhého erroru bez kontextu

500 řádků stack trace a „oprav to". AI nemá šanci. Přidej: co jsi dělal, jaký výstup čekáš, od kdy to nefunguje, a jen prvních 20 řádků erroru.

🚫 „Jsi programátor, dělej X, Y, Z…" (10 rolí)

Role cpat do promptu má smysl jen jednou a stručně. Dlouhé „jsi senior developer, designer, architekt, DevOps…" zhoršuje výstup. Nech to v User Rules.

🚫 „Udělej celou funkci + testy + doc + PR + deploy"

Jeden velký krok = velké halucinace. Rozděl to na 3 kroky: 1) napiš funkci, 2) spusť a ukaž výstup, 3) teď testy. AI může ověřovat mezi kroky.

🚫 „Přečti celé repo a pochop to"

Nepochopí, jen to spálí kontext. Použij @File, @Folder, nebo „najdi, kde je definováno authenticate() — použij grep".

🚫 „Běž na web a stáhni X"

Cursor může mít web access jen s přímým nástrojem (MCP / browser). Bez něj si AI vymyslí, co tam asi bude. Ověř, že nástroj máš, nebo sežeň data sám.

🚫 Smíšené jazyky v jednom promptu

„Napiš mi funkci that handles login a vrátí JWT token s user id a nějakou expirací." AI pak míchá jazyky i ve výstupu. Drž se jednoho jazyka v jednom vlákně.

🚫 „Určitě to funguje, spusť to v produkci"

AI někdy tvrdí, že něco funguje, i když to nespustila. Vždy ověř lokálně („spusť to a ukaž mi výstup") než commitneš.

💡 Pravidlo palce: pokud bys ten prompt nerozuměl jako nový vývojář v projektu, AI mu taky nebude rozumět. Přidej kontext (které soubory, co fungovalo, co ne), konkrétní cíl (jaký výstup čekáš) a jeden jasný krok.

Časté chyby nováčků

Moc velký kontext, žádný plán, slepé Accept All, nulové Rules, smíšené jazyky, auto-run na nebezpečných příkazech.

Co dělat místo toho

Moc velký kontext

Místo „přečti celé repo" přidej @File konkrétní soubory.

Žádný plán

U větší změny začni Plan režimem.

Slepé Accept All

Prohlédni diff.

Žádná Rules

10 minut psaní, roky zisku.

Míchané jazyky

Chceš češtinu? Do Rules + do prvního promptu.

Nebezpečný auto-run

Povol jen pro lint/test.

Tahák klávesových zkratek

Ctrl+L chat · Ctrl+I inline · Ctrl+K generovat · Ctrl+P soubor · Ctrl+Shift+P Command Palette · Ctrl+` terminál.

Kompletní přehled

Chat & AI

Ctrl+L — chat
Ctrl+I — inline edit
Ctrl+K — generovat/upravit
Tab — přijmout návrh
Esc — zrušit návrh

Editor

Ctrl+P — otevřít soubor
Ctrl+Shift+P — Command Palette
Ctrl+B — sidebar
Ctrl+` — terminál
F2 — rename

Slovníček pojmů

Stejné definice jako v tooltipech, jen pohromadě.

IDE
Program na psaní, spouštění a ladění kódu. Cursor a VS Code jsou IDE.
Workspace
Pracovní složka otevřená v editoru. Všechny soubory v ní má AI po ruce.
Repo / repozitář
Složka projektu verzovaná v Gitu. Kód + historie všech změn.
Git
Systém pro verzování kódu.
Commit
Jedna uložená změna v Gitu s popisem. Jako „save" ve hře.
Push
Odeslání commitů na server (GitHub).
Branch / větev
Paralelní verze projektu.
Merge
Sloučení dvou větví.
PR / Pull Request
Návrh na sloučení. Schválí kolega, pak se mergne.
Terminál
Okno s textovými příkazy (ls, npm, git). Též shell / konzole.
Lint
Automatická kontrola stylu a chyb.
Test
Krátký program, co ověří, že funkce dělá, co má.
Build
Překlad zdrojáku do finální verze (dist/).
Deploy
Nahrání hotové verze na server.
Stack
Sada použitých technologií (React + Node + Postgres).
Frontend
Část aplikace, kterou vidí uživatel.
Backend
Část aplikace běžící na serveru.
API
Rozhraní pro komunikaci mezi programy.
Token
Přístupový klíč k API. Jako heslo.
Diff
Rozdíl mezi dvěma verzemi.
Refactor
Přepsání kódu beze změny chování.
Scaffolding
Vygenerování kostry projektu.
Responsivita
Web/appka se přizpůsobí velikosti obrazovky.
a11y
Accessibility — přístupnost pro lidi s handicapem.
CI / CI/CD
Automatické testy/build při každém pushi.
Agent
AI, která sama provádí úkoly.
Subagent
Pomocná AI, kterou si hlavní agent pustí.
Rules
Pokyny, co AI dostává automaticky.
Skill
Postup, co si AI načte, když je potřeba.
MCP
Model Context Protocol. Připojení externích nástrojů.
Hook
Skript spouštěný v určitý okamžik.
.env
Soubor s tajemstvími. Nikdy do Gitu!
JSON
Textový formát pro strukturovaná data.
Markdown
Textový formát pro hezký text bez HTML.
Gemini 3.1 Pro
Pokročilý AI model od Googlu, dostupný v Cursoru.

Kuchařka promptů

Hotové prompty v logickém pořadí, jak je budeš používat. Každá sekce A–E je rozbalovací — klikni na tu, kterou potřebuješ. V promptech cokoliv v [hranatých závorkách] nahraď svým.

A · Setup & profil

Jednorázové nastavení — profil podle tvé role, styl komunikace, AGENTS.md, Rule, Skill, MCP.

B · Nový projekt

Od prázdné složky k běžícímu webu/appce.

C · Existující projekt

Stáhnout, upravit, recyklovat staré nápady, přidat featuru.

D · Obrázky

Ikony, hero, SVG, variace. Kam se ukládají.

E · Debug & deploy

Opravy, výkon, testy, nasazení, PR.

A. Setup & profil 6 promptů

Nastavení profilu, stylu komunikace, AGENTS.md, Rule, Skill, MCP.
A1
Profil uživatele — vyber si roli
setup

Kam: Settings → Rules for AI. Vyber si roli, která ti nejvíc sedí, a zkopíruj šablonu. Uprav drobnosti ([hranaté závorky]) a ulož.

# O uživateli
- Jméno: [Tvoje jméno]
- Role: Frontend vývojář
- OS: [Windows 11, PowerShell] / [macOS zsh]
- Stack: TypeScript, React / Next.js, Tailwind, shadcn/ui
- State: Zustand / TanStack Query
- Testy: Vitest + Testing Library + Playwright
- Hosting: Cloudflare Pages / Vercel

# Co mě zajímá
- Typová bezpečnost, čisté komponenty, a11y, performance (LCP/TBT/CLS).
- Design systém a konzistence.

# Co dělám méně / ignoruj
- Hluboký backend (databáze, infra) — držím se na FE vrstvě.
# O uživateli
- Jméno: [Tvoje jméno]
- Role: Backend vývojář
- OS: [Linux / macOS / Windows WSL]
- Stack: Node.js + TypeScript, Hono / Express, Postgres + Prisma
- Alternativy: Go (občas), Python (datové skripty)
- Cloud: AWS / Cloudflare Workers / Fly.io
- Testy: Vitest / Jest + Supertest

# Co mě zajímá
- Čistá API design, validace (zod), error handling, observability.
- Databázové migrace, indexy, výkon dotazů.

# Co dělám méně / ignoruj
- CSS a vizuál — u UI jsem jen pro funkčnost, ne pro design.
# O uživateli
- Jméno: [Tvoje jméno]
- Role: Fullstack / indie developer
- OS: [Windows 11, PowerShell 7]
- Stack: TypeScript all the way — Next.js / React, Hono, SQLite/Postgres
- Cloud: Cloudflare (Workers, Pages, D1, R2, KV)
- Desktop: Electron / Tauri, Mobile: Expo
- Pracuji sám na menších projektech, preferuju rychlá a přehledná řešení.

# Co mě zajímá
- End-to-end fungování, nasazení jedním commandem, monitoring.
- Minimum infra — serverless, edge.

# Co nechci
- Micro-frameworky jen proto, že jsou "in". Preferuju osvědčené.
# O uživateli
- Jméno: [Tvoje jméno]
- Role: Designer / UX
- OS: [macOS]
- Nástroje: Figma hlavně, občas Photoshop. V Cursoru dělám jen lehký kód.
- Kód, který vím: HTML, CSS, Tailwind. JavaScript jen trochu.
- Pracuji na: design system, ikony, prototypy, landing pages.

# Styl práce
- Často ti budu posílat screenshot nebo Figma odkaz a chtít implementaci.
- Vysvětluj mi kód jednoduše, stavím se do pozice mladšího vývojáře.
- Navrhuj spíš méně kódu (vanilla + Tailwind) než komplexní stacky.

# Co nechci
- Bash/CLI triky — vysvětli pomalu, co ten příkaz dělá.
# O uživateli
- Jméno: [Tvoje jméno]
- Role: Student programování
- OS: [Windows / macOS]
- Učím se: [Python / JavaScript / Java]
- Úroveň: mírně pokročilý, znám proměnné, funkce, třídy, základy Gitu.

# Styl práce
- Vysvětluj mi, PROČ děláme co děláme. Chci rozumět, ne kopírovat.
- Když napíšeš kód, přidej komentáře u nezřejmých částí.
- Občas mi polož kontrolní otázku, jestli chápu.
- Jazyk: [Česky] / [Anglicky + česky pro odborné termíny].

# Co NEDĚLAT
- Neposkakuj na hotové řešení — nejdřív mi dej rámec.
- Nepoužívej pokročilé triky bez vysvětlení (async, decorators...).
# O uživateli
- Jméno: [Tvoje jméno]
- Role: Úplný začátečník — kód skoro neumím
- OS: [Windows 11]
- Cíl: [postavit si osobní web / udělat jednoduchou appku / porozumět tomu]

# Styl komunikace
- Piš česky, mluv jako bys vysvětloval kolegovi, co první týden programuje.
- Každý technický termín vysvětli (IDE, commit, API, framework…).
- U příkazů v terminálu mi VŽDY řekni, co přesně se stane a proč.
- Když je víc možností, rozhodni za mě s jednoduchým zdůvodněním.

# Co NEDĚLAT
- Nepouštěj se do samostatných experimentů. Ptej se před každou větší akcí.
- Nepoužívej zkratky (a11y, CI/CD, SSR…) bez rozepsání.
- Nespouštěj destruktivní příkazy (rm, drop, force push) — NIKDY.
# O uživateli
- Jméno: [Tvoje jméno]
- Role: Hudebník / kreativec / tvůrce obsahu
- OS: [Windows 11]
- Co dělám: AI hudba, videa, grafika, občas web kolem své tvorby
- Programování: základy, orientuju se, ale nejsem vývojář

# Co v Cursoru potřebuju
- Postavit a upravovat osobní web / landing pro svoji tvorbu
- Generovat grafiku (ikony, obaly, thumbnaily, bannery)
- Pomoc s drobnými skripty (FFmpeg, batch přejmenování, konverze)
- Občas publikování (Cloudflare Pages, GitHub Releases)

# Styl komunikace
- Piš česky, stručně a prakticky. Krok za krokem.
- Když navrhuješ technické řešení, řekni i "proč to vybíráš místo X".
- U generování obrázků / grafiky buď precizní — barvy, rozměry, styl.

# Co NEDĚLAT
- Nespouštěj nic destruktivního.
- Nepřidávej závislosti bez mého souhlasu.
# O uživateli
- Jméno: [Tvoje jméno]
- Role: Data analyst / Data scientist
- OS: [macOS / Linux]
- Stack: Python (pandas, polars, numpy), občas R, SQL (Postgres/BigQuery)
- Notebooky: Jupyter, VS Code notebooks
- Vizualizace: matplotlib, plotly, případně Observable

# Co mě zajímá
- Reprodukovatelnost (seed, environment, uv / poetry / conda).
- Čisté dataframe pipelines, type hints.
- Rychlé průzkumné analýzy (EDA).

# Styl komunikace
- Česky, technické termíny anglicky.
- U dotazů preferuju nejdřív schéma tabulky, pak SQL.
- U vizualizací: 1 graf = 1 sdělení, ne 10 čar v jednom.

# Co NEDĚLAT
- Neukazuj mi pandas patterny z roku 2018 (reset_index všude...).
- Nepoužívej matplotlib default barvy, drž se mojí palety.
# O uživateli
- Jméno: [Tvoje jméno]
- Role: [Product Manager / Marketing / Content]
- OS: [macOS / Windows]
- Technické pozadí: orientuju se, ale kód nepíšu

# Co v Cursoru dělám
- Píšu a upravuju dokumentaci (markdown, GitHub wiki).
- Připravuju texty, landing pages, e-mailové šablony.
- Občas lehké úpravy webu (copy, SEO, meta tagy).
- Prototypy / mockupy obrazovek, s AI si vyrobím co potřebuju ukázat.

# Styl komunikace
- Piš česky. Bez zbytečného žargonu.
- Technický problém vysvětli v obchodních dopadech.
- U změn v kódu: vždy mi řekni, jestli to něco rozbije pro uživatele.

# Co NEDĚLAT
- Nespouštěj nic, co mění databázi / produkci bez souhlasu.
- Neměň commity, co už jsou pushnuté.
A2
Styl komunikace — vyber si tón
setup

Kam: stejný Rules soubor pod profil (A1). Určuje, jak AI mluví a píše.

# Styl komunikace — stručný
- Odpovídej česky, tykej mi.
- Maximálně 5 vět, pokud nejde o plán nebo review.
- Žádné "jistě, rád pomůžu", žádné omáčky.
- U úprav kódu: diff nahoře, 1–2 věty pod tím.
- Když si nejsi jistá: 1 otázka, ne 5.
- Bez emoji.
# Styl komunikace — mentor
- Odpovídej česky, tykej mi. Chovej se jako trpělivý mentor.
- Vysvětluj PROČ, ne jen JAK. U každé změny kódu: 1 věta o motivaci.
- U složitějších konceptů přidej analogii z běžného života.
- Občas mi polož kontrolní otázku ("chápeš, proč…?").
- Když vidíš, že dělám něco neobvyklého, zeptej se, jestli to je úmysl.
- Bez emoji, bez hyperbolických chvál.
# Styl komunikace — přátelský
- Odpovídej česky, tykej mi, uvolněně ale profesionálně.
- Klidně shrň jednou větou "ok, zkusím to takhle" a jdi na to.
- Nemusíš být strohá — dovol si krátkou mezivětu pro kontext.
- Humor ano, ale ne nucený.
- Emoji jen minimalisticky (✓ ⚠ — maximálně).
# Styl komunikace — expert, formální
- Odpovídej česky, vykej.
- Chovej se jako senior s 15 lety zkušeností.
- U návrhů řešení zmiň 2–3 alternativy, compare trade-offs.
- Cituj konkrétní verze knihoven, RFC, specifikace.
- Používej přesnou terminologii (immutability, idempotence, referential transparency).
- Žádný small talk, žádné emoji.
# Styl komunikace — dvoujazyčný
- Hlavní jazyk: čeština.
- Technické termíny nepřekládej do češtiny, pokud to znepřesní význam
  (např. "closure", "side effect", "race condition" nech v angličtině).
- Commit messages a PR popisy piš anglicky.
- Názvy proměnných / funkcí anglicky, komentáře v kódu česky.
- Tykej mi.
# Styl komunikace — ukaž mi vše
- Odpovídej česky, tykej mi.
- Chci vidět tvé uvažování: u netriviálních úkolů piš krátký "myšlenkový
  průběh" (hypotézy, co jsi zvážila a zavrhla).
- Před spuštěním jakéhokoliv příkazu mi ukaž přesný text a očekávaný výstup.
- Po provedení: co se stalo (úspěch / chyba), relevantní část logu,
  jak jsi to ověřila.
- Když narazíš na něco zajímavého cestou (zastaralý kód, nekonzistence),
  nenapravuj — jen upozorni do seznamu "co bych se chtěla zeptat".
Univerzální zákazy (dej pod jakýkoliv styl):
# Univerzální zákazy
- Nevymýšlet si API, knihovny, funkce (halucinace).
- Nepoužívat emoji, pokud o to výslovně nepožádám.
- Nevytvářet nové soubory zbytečně — upravuj stávající.
- Nespouštět: rm -rf, drop database, git push --force.
- Neměnit verze v package.json bez souhlasu.
- Necommitovat .env*, credentials.json, tokeny.
A3
Nech AI napsat AGENTS.md pro tvůj projekt
setup

Kam: chat (Ctrl+L) v projektu. Režim Agent.

Prozkoumej tento projekt a vytvoř v kořeni soubor AGENTS.md.
Má obsahovat:
1) Co projekt dělá (1–2 věty).
2) Tech stack (jazyky, frameworky, cloud).
3) Strukturu složek s krátkým popisem každé.
4) Jak to lokálně spustit (přesné příkazy).
5) Konvence (commity, pojmenování, lint/test).
6) Co AI v tomto repu NEMÁ dělat.

Než začneš psát, projdi package.json, README.md, wrangler.jsonc,
a zkontroluj src/ a scripts/.
Na konci mi ukaž diff a počkej na potvrzení.
A4
Nech AI vytvořit projektové Rule
setup

Kdy: AI opakovaně dělá něco špatně — nauč ji pravidlem.

Vytvoř mi projektové pravidlo v `.cursor/rules/[nazev].mdc` na toto:
[popis problému nebo zvyku — např. "vždy validuj vstup přes zod",
"komponenty vždy s error boundary", "Tailwind místo inline stylů"]

Požadavky:
- krátké (max 20 řádků),
- s YAML hlavičkou (description, globs, alwaysApply),
- s 2–3 dobrými a 2–3 špatnými příklady.

Ukaž mi obsah souboru a počkej na potvrzení, než ho vytvoříš.
A5
Nech AI vytvořit vlastní Skill
setup

Kdy: pořád opakuješ stejný složitější postup.

Vytvoř mi uživatelský Skill pro tento postup:
[název a popis postupu — např. "release-to-cloudflare":
 1. git pull, zkontroluj lint+test,
 2. bump verze v package.json,
 3. npm run build,
 4. wrangler deploy,
 5. vytvoř git tag a release notes z commitů.]

Požadavky:
- cesta: ~/.cursor/skills-cursor/[nazev]/SKILL.md
- YAML: name, description, when_to_use
- sekce: Postup (číslované), Omezení, Kontrola na konci
- jazyk: česky.

Ukaž mi plný obsah SKILL.md před vytvořením.
A6
Připoj si MCP server
setup

Kam: Settings → MCP, nebo .cursor/mcp.json.

Chci si přidat MCP server [název — např. "browser-use" nebo
"cloudflare-observability"]. Vysvětli mi:
1) Co tento server umí a proč ho chtít.
2) Jak ho zapnu (Settings vs. mcp.json) — ukaž JSON.
3) Co potřebuju jako tajemství / tokeny a kam je dát.
4) Bezpečnostní rizika.
5) 3 příklady promptů, co s ním můžu hned zkusit.
Po A1–A3 máš 80 % nastaveného Cursoru. Ostatní přijde podle potřeby.

B. Nový projekt 6 promptů

Od prázdné složky k běžícímu webu / appce / backendu.
B1
Založ projekt a napiš plán
new

Režim: Plan (nic se zatím nemění).

Chci udělat [typ projektu — např. "landing page pro můj produkt"
/ "Electron desktop aplikaci" / "Expo mobile appku"
/ "backend API v Hono na Cloudflare Workers"].

Stack: [Next.js 14 + TS + Tailwind + shadcn/ui]
Hosting: [Cloudflare Pages]
Use-case v 2 větách: [...]

Nejdřív PLÁN, ne kód:
1) Jaké stránky / obrazovky / endpointy vzniknou.
2) Strukturu složek.
3) Klíčové knihovny s důvody.
4) Rozdělení do commitů (5–8 kroků).
5) Rizika a otázky pro mě.
B2
Scaffolding — kostra projektu
new
Proveď KROK 1 z plánu (scaffolding):
- Inicializuj projekt podle stacku.
- Nastav lint (ESLint), format (Prettier), jednoduchý CI workflow.
- Přidej .gitignore, README s rychlým startem, AGENTS.md (stručný).
- Ujisti se, že `npm run dev` funguje.

Po dokončení:
- Spusť lint a build, ukaž výstup.
- První commit "chore: initial scaffolding".
- Počkej, než ti řeknu jít na krok 2.
B3
Hlavní obrazovka / landing page
new
Vytvoř landing page pro [projekt]:
- Hero (nadpis, podtitul, 2 CTA).
- Features: 6 dlaždic (grid 3×2).
- Jak to funguje: 3 kroky.
- FAQ (accordion).
- Footer s odkazy.

Design: [dark, primary #7C9CFF, bg #0B1020, akcent #32D2A8].
Animace: jemné, respektuj prefers-reduced-motion.
Responzivní od 320px. A11y: role, alt, kontrast AA.

Komponenty v `src/components/`, stránka v `src/app/page.tsx`.
Nejdřív strom souborů, pak implementace, pak diff.
B4
Datový model + stavy (pro aplikace)
new
Navrhni datový model pro [moje featura]:

Výstup:
1) Prisma schema (modely, vztahy, indexy).
2) Stavový automat UI (loading / empty / error / success).
3) API endpointy (metoda, cesta, auth, vstup/výstup).
4) Co v Zustand store (klient) vs. server.

Nic neimplementuj. Na konci mi polož 3 otázky, než půjdeme dál.
B5
Electron desktop app s auto-update
new
Postav mi Electron aplikaci:
- okno 1280×800, custom title bar,
- IPC kanály "project:open" / "project:save",
- auto-update přes electron-updater z GitHub Releases,
- buildy pro Windows (nsis) a macOS (dmg).

Struktura: src/main, src/preload, src/renderer (React + Vite).
Napiš package.json, electron-builder config a funkční kostru.
Připrav GitHub Actions pro signed buildy.
B6
Mobile appka v Expo
new
Nová Expo (React Native) appka [název]:
- expo-router, tab layout: Home / Explore / Profile,
- dark + light theme, persist AsyncStorage,
- login obrazovka (UI, bez backendu),
- ikona a splash placeholder,
- TypeScript striktně.

Malé commity: scaffold → navigace → theme → obrazovky.
Po každém kroku stop a review.

C. Existující projekt 6 promptů

Stáhni z GitHubu, nasaj obsah ze živého webu, recykluj nápady, přidej featuru, modernizuj, splň úkoly z tasks.md.
C1
Stáhni existující web a připrav k úpravám
edit
Stáhni repo [URL — např. https://github.com/user/projekt.git]
do této složky a připrav k práci:

1) git clone a cd do složky.
2) Zkontroluj Node verzi, doporuč správnou.
3) Nainstaluj závislosti, spusť dev server.
4) Prozkoumej strukturu a vytvoř AGENTS.md (A3).
5) Shrň mi:
   - co projekt dělá,
   - kde je hlavní UI kód,
   - kde je deploy konfigurace,
   - gotchas.

Na konci se zeptej, co upravovat první.
C2
Nasaj obsah z živého webu (jen nápady, ne kód)
edit
Mám starý web online: [URL].
Chci jen myšlenky a obsah, ne scraping kódu.

1) Projdi hlavní stránky (homepage, about, pricing, FAQ).
2) Vytáhni nadpisy a textové bloky (doslovné citace do `old-content.md`).
3) Identifikuj IA (Information Architecture): jaké sekce.
4) Napiš `content-plan.md` — co použít, co přeformulovat, co vypustit.
5) Nech poznámku o barvách / fontech starého webu.

Respektuj autorská práva — obsah jen ke zpracování.
C3
Nový web s recyklováním starých nápadů a assetů
edit
Založ nový web podle B1–B3.
Použij nápady z `old-content.md` a `content-plan.md`:
- texty přeformuluj do modernějšího tónu,
- IA (Home / Features / FAQ / Contact) můžeme ponechat nebo zjednodušit,
- barvy / typografii NEkopíruj, udělej nový design podle briefu:
  [minimalistické, whitespace, sans-serif, primární #7C9CFF, akcenty aqua].

Staré obrázky dám do `public/legacy/` a řeknu, co použít.
Nejdřív plán změn proti staré verzi.
C4
Přidej featuru do existující aplikace
edit
Chci do aplikace přidat featuru: [popis 1–2 věty].

1) Prozkoumej relevantní kód (začni tam, kde je dnes podobná featura).
2) Plán v 3–7 krocích, každý = 1 commit.
3) Upozorni na testy, které musíme doplnit / aktualizovat.
4) Polož max 3 otázky, než začneme.

Nic zatím neimplementuj.
C5
Modernizace staršího kódu
edit
Zkontroluj @Folder [src/legacy/] a navrhni modernizaci:
- převod class komponent na funkční + hooks,
- nahrazení zastaralých knihoven,
- typy (TS) kde chybí,
- rozdělení příliš velkých souborů.

Výstup:
1) Tabulka "soubor | problém | navrhovaná změna | dopad".
2) Priority (rychlá výhra / střední / velký refactor).
3) Veřejné API NEměňit.

Jen analýza, žádný kód.
C6
Splň úkoly z mého tasks.md
edit

Trik: Připrav tasks.md, AI ho projede postupně.

V souboru @File tasks.md mám úkoly. Proveď je postupně:
- pracuj od prvního nesplněného,
- každý úkol = samostatný commit,
- po commitu přepiš v tasks.md stav na "[x] hotovo" s datem,
- nejasnost → zastav se a zeptej se mě.

Nezačínej další úkol, dokud předchozí není hotový a commitnutý.
# Vzor tasks.md
- [ ] Přidej dark mode toggle do Header.tsx
- [ ] Oprav a11y v Menu
- [ ] Přidej sitemap.xml a robots.txt
- [ ] Nahraď favicon novou ikonou z `public/icons/app-icon.png`
- [ ] Nasaď na preview

D. Obrázky, ikony & grafika 5 promptů

App ikona, hero, SVG logo, série ve stejném stylu, variace z reference.
Kam se obrázky ukládají? Do aktuálního workspace (složka projektu). V promptu vždy řekni přesnou cestu (např. public/images/hero.png). AI po vygenerování vypíše konečnou cestu — přečti si ji.
Generování zvládá jen model, který to umí (např. Gemini 3.1 Pro, GPT-Image). Vyber ho vlevo nahoře v chatu.
D1
App ikona (1024×1024, iOS style)
image
Vygeneruj app ikonu pro "[název]":
- Tvar: zaoblený čtverec, 1024×1024.
- Motiv: [stylizovaná vlna zvuku přecházející v pixel].
- Styl: flat vector, jemný gradient, 2–3 barvy.
- Paleta: #7C9CFF → #9B8CFF, akcent #32D2A8, bg #0B1020.
- Bez textu, bez lidí, bez vodoznaků, bez stínů okolo.
- Čistý, moderní, čitelný i v 64×64.

Ulož do `public/icons/app-icon-1024.png`.
Pokud to umíš, vygeneruj i 512/256/128/64 do stejné složky.
D2
Hero ilustrace (16:9)
image
Hero ilustrace (1920×1080, 16:9):
- Motiv: [abstraktní vizualizace hudby přecházející v obraz —
  vlnoplochy rozpadající se do částic, z nich silueta krajiny].
- Styl: digital painting, cinematic, jemný bokeh.
- Paleta: deep navy #0B1020, magenta #9B8CFF, aqua #32D2A8.
- Kompozice: subjekt vlevo (rule of thirds), vpravo prostor na text.
- Světlo: rim light zprava, tmavší levý horní roh.
- Bez textu, bez watermarků.

Ulož do `public/images/hero.png`.
D3
SVG logo — editovatelné
image

Chceš logo do kódu? Dostaneš textový SVG.

Vytvoř SVG logo pro "[název]":
- jednoduchý, 2 barvy, moderní,
- geometrie: [kruh s přerušeným prstencem + minimalistické "M"],
- viewport 64×64, jen paths, bez raster bg,
- hlavní #7C9CFF, akcent #32D2A8.

Vrať:
1) Plný SVG kód (textově).
2) Invertovanou variantu pro tmavé pozadí.
3) Ulož jako `public/logo.svg`.
D4
Série obrázků ve stejném stylu
image
Vygeneruj 6 ilustrací v jednotném stylu pro Features:
- 800×600, transparent PNG, pokud umíš,
- styl: isometric 3D, pastelové barvy, minimalistické,
- paleta: #7C9CFF, #9B8CFF, #32D2A8 + šedé doplňky,
- motivy:
   1) rychlé nahrávání
   2) cloud sync
   3) offline režim
   4) sdílení
   5) analytika
   6) bezpečnost

Ulož jako `public/images/features/feature-01.png` ... feature-06.png.
Po vygenerování shrň cesty a velikosti.
D5
Variace existujícího obrázku (reference)
image

Přetáhni referenční obrázek do chatu, pak piš prompt.

[Nejdřív přetáhni referenční obrázek do chatu.]

Vytvoř variaci tohoto obrázku:
- zachovej: kompozici, hlavní subjekt, rozměr (800×800),
- změň: paletu na studenou (modrofialová místo oranžové),
- přidej: jemný bokeh v pozadí,
- odstraň: texty a watermarky.

Ulož do `public/images/variant-01.png`.
Co dělat, když model neumí generovat obrázky
  • Přepni model vlevo nahoře v chatu na jiný (Gemini 3.1 Pro, GPT-Image).
  • Použij MCP server, co generování umí.
  • Nech AI napsat prompt a generuj jinde (Midjourney, DALL·E).
Neumíš generovat obrázky přímo? V pořádku.
Napiš mi super detailní prompt (EN + CS překlad) pro Midjourney:
- motiv: [...]
- styl: [...]
- negative prompt
- parametry: --ar 16:9 --v 6 --stylize 250

E. Debug, refactor & deploy 6 promptů

Systémový debug, bezpečný refactor, výkon, testy, deploy, PR.
E1
Systémový debug
fix
Bug: [co se děje, jedna věta].
Reprodukce: [přesný krok].
Chyba:
```
[nalep stack trace / console]
```

1) Vyjmenuj 5 nejpravděpodobnějších příčin (hypotézy).
2) Pro každou: jak rychle ověřit.
3) Vyber nejpravděpodobnější, ověř, teprve pak oprava.

Nepiš kód, dokud hypotézu neověříš.
E2
Bezpečný refactor
fix
Refaktoruj @File, aby:
- veřejné API zůstalo identické,
- pokrytí testů neklesne,
- commit byl rozdělen do malých kroků.

Pravidla:
- nejdřív plán (bullet points),
- po odsouhlasení dělej po jednom kroku,
- po každém testy a ukaž výstup.
E3
Zrychli web (performance)
fix
Web je pomalý.
Metriky: [LCP 4.2 s, TBT 800 ms, CLS 0.15].
Zanalyzuj:
- @File app/layout.tsx,
- bundle (co změřit, jak),
- network waterfall (preload / lazy),
- obrázky (formát, velikost, lazy).

Priority: 1) rychlá výhra, 2) střední, 3) velký refactor.
U každé: odhad zlepšení + diff.
E4
Napiš testy
fix
Pro funkci @Code vytvoř testy:
- Vitest + Testing Library,
- pokryj: happy path, hraniční, chybové,
- mockuj fetch přes vi.spyOn(global, 'fetch'),
- pojmenuj testy česky v it("…").

Jen nový test soubor. Na konci řekni, jak spustit jen tyto testy.
E5
Deploy na produkci
fix
Chci nasadit na [Cloudflare Pages / Workers / Vercel].
Zkontroluj:
1) Build bez chyb a warningů.
2) ENV proměnné — co nastavit v dashboardu, co commitnout.
3) Konfigurace (wrangler.jsonc / vercel.json / next.config).
4) Bezpečnostní hlavičky (CSP, HSTS, X-Content-Type).
5) Sitemap.xml, robots.txt, OG obrázky (1200×630).

Na konci přesné příkazy. Před nasazením se zeptej.
E6
Udělej PR s popisem
fix
Z aktuálních změn udělej PR:
1) Nová větev `feat/[popis]`.
2) Commity v Conventional Commits.
3) Otevři PR přes `gh pr create`.
4) V popisu:
   - Summary (1–3 bullety),
   - Screenshots (u UI změny),
   - Test plan (checklist),
   - Risky věci / break change.

Neforcovat push do main. Na konci odkaz na PR.