Začínáme s Vibe codingem - část 2

V této části seriálu o Vibe codingu si ukážeme, jak v nástroji Cursor nastavit pravidla (Rules), která agent vždy dodržuje při generování kódu. Pravidla umožňují definovat, jak má agent kód psát, jaké styly dodržovat, jak se chovat, a dokonce i jaké role může při práci zastávat. Některé z těchto pravidel si společně rozebereme na příkladu naší demo kalkulačky.

05.11.2025 245 0

"# Nastavení Cursoru – Pravidla / Rules ve Vibe codingu

V této části seriálu o Vibe codingu si ukážeme, jak v nástroji Cursor nastavit pravidla (Rules), která agent vždy dodržuje při generování kódu. Pravidla umožňují definovat, jak má agent kód psát, jaké styly dodržovat, jak se chovat, a dokonce i jaké role může při práci zastávat. Některé z těchto pravidel si společně rozebereme na příkladu naší demo kalkulačky.

Co jsou pravidla a proč je používat?

Pravidla slouží k tomu, aby agent pracoval konzistentně a podle vašich standardů. Pomáhají předcházet nekonzistencím a chaosu v generovaném kódu, udržují kvalitu, styl a strukturu projektu.

Každý projekt je jiný a vyžaduje vlastní pravidla. Pravidla tak pomáhají přizpůsobit chování agenta konkrétním požadavkům projektu, technologii a firemním standardům.

Kde a jak pravidla nastavujeme?

Pravidla nastavujeme v nastavení aplikace Cursor, které najdete v pravém horním rohu kliknutím na ozubené kolečko.

V nastavení otevřete sekci Rules. Zde najdete dvě hlavní kategorie:

User Rules (uživatelská pravidla)

  • Globální pravidla, která platí ve všech projektech, které vytváříte.
  • Napíšete je jednou a jsou automaticky aplikována ve všech projektech.
  • Pro přidání klikněte na Add rule, nebo u existujícího pravidla na tři tečky (...) a zvolte Edit.

Project Rules (projektová pravidla)

  • Pravidla specifická pro konkrétní projekt.
  • Neukládají se v nastavení aplikace, ale v samostatném souboru uvnitř složky projektu.
  • Při otevření projektu se pravidla načtou a aplikují pouze na tento projekt.
  • Přidání pravidla provedete opět kliknutím na Add rule a zadáním názvu souboru (například rules.cs, python.rules nebo jiný popisný název).
  • U každého pravidla lze nastavit, jak se má aplikovat, s možnostmi:
Nastavení Popis
Manual Pravidlo se použije jen pokud ho v promptu výslovně zmíníte.
Always Pravidlo je automaticky součástí promptu při každém požadavku, ale není vidět uživateli.
Auto attached Pravidlo se aplikuje automaticky, pokud agent zpracovává soubor s určitou příponou (např. .cs).
Agent requested Pravidlo se aplikuje jen při specifické situaci, například při psaní dokumentace.

Co do pravidel psát a proč?

Neexistuje univerzální sada pravidel, která by fungovala pro všechny projekty. Každý jazyk a projekt má svá specifika.

Níže najdete doporučená pravidla, která jsme nastavili pro naši demo kalkulačku.

Základní pravidla pro kvalitní kód

  • Dodržuj SOLID principy, KISS (Keep It Simple, Stupid) a DRY (Don't Repeat Yourself).
  • Maximální délka třídy je 200 řádků.
  • Přidávej komentáře ke každé public metodě, na začátek třídy a komentuj celý interface.
  • Každá třída i interface musí být v samostatném souboru.

Příklad pravidla (jak by mohlo vypadat v textové formě):

  • Každá public metoda musí být opatřena XML komentářem, který stručně popisuje účel a parametry metody.
  • Třídy delší než 200 řádků nejsou povoleny; kód je třeba rozdělit do menších komponent.
  • Interface musí mít dokumentaci u všech členů.

Testování a TDD (Test Driven Development)

Aplikace je funkční, ale jak jí důvěřovat? Přidáme pravidla, která zajistí, že agent bude používat metodologii TDD:

  • Pro vývoj vždy využívej TDD přístup – nejdříve napiš testy, až poté implementuj logiku.
  • Po každém úkolu spusť všechny testy a ověř, že se nic nerozbilo.

TDD pomáhá zvyšovat kvalitu kódu, předcházet chybám a zajišťuje, že nové funkce neporušují stávající funkcionalitu.

Git a dokumentace

Je dobré, aby agent věděl, že projekt je spravovaný v Gitu, a podle toho se choval:

  • Projekt se připravuje pro GIT – přidej .gitignore, pokud neexistuje.
  • Po každé změně aktualizuj soubor readme.md, který popisuje projekt, jak ho sestavit a spustit.

Rozdělení úkolů a analýza

Pro složitější úkoly je vhodné, aby si agent nejdříve provedl analýzu a rozložil práci na menší části.

  • Před každým úkolem si vytvoř seznam úkolů v souboru tasks.md.
  • Po dokončení úkolu aktualizuj tasks.md, například s checkboxy označujícími splněné části.

Tímto způsobem získáte lepší přehled o postupu práce a zvyšujete kvalitu výsledku.

Paměť agenta – vibememories.md

Paměť je kritická záležitost. V aplikaci Cursor začnete první chat a první zadání, ale všechno má své limity. Jak s agentem postupně řešíte aplikaci, ladíte ji a přidáváte další funkcionalitu, po čase se může stát, že začne dělat chyby. Chat i všechno okolo se totiž prodlouží natolik, že v tom AI začne tápat, což spíš než ke kvalitnímu řešení vede k problémům.

Takovou situaci obvykle vyřešíte tím, že v pravém horním panelu kliknete na vytvoření nového chatu. Tím získáte volné kontextové okno a můžete ve vývoji pokračovat. Ovšem tím se zároveň stane jedna věc – nové chatovací okno nezná historii toho, co se před tím dělo a proč. Když mu pak zadáte, aby přidal novou funkcionalitu nebo něco opravil, musí si celý kód znovu projít a pochopit jeho fungování od začátku.

A právě na tohle existuje řešení – paměť. Existuje více přístupů, od jednoduchých po sofistikovanější, my si však ukážeme tu jednodušší cestu.

Přidáme další pravidlo, které agentovi nařizuje vytvořit a aktualizovat zvláštní soubor, například vibememories.md. Do tohoto souboru si bude zapisovat vše důležité o aplikaci – její architekturu, účel, způsob řešení jednotlivých částí, strukturu, známé problémy a další podstatné informace.

Během práce můžete toto pravidlo upravit a rozšířit podle potřeby. Pro menší projekty však bohatě postačí i takové základní vedení kontextu, které výrazně pomůže udržet přehled a kvalitní navazování na předchozí práci.

Řešením je přidat dlouhodobou paměť:

  • Po každém úkolu aktualizuj soubor vibememories.md, který bude obsahovat:
    • Cíl projektu
    • Návrh řešení a architekturu
    • Popis jednotlivých částí a problémů
    • Příkazy a znalosti, které agent opakovaně potřebuje

Při další práci si agent nejdříve tento soubor načte a vyhne se tak nutnosti opakovaně zpracovávat celý kód.

Další důležitá pravidla a doporučení

  • Jsi senior software developer a architekt řešení v C#.
  • Pracuješ na OS Windows 11, .NET 9.
  • Finální řešení sestav a otestuj automaticky, pokud to není desktopová aplikace.
  • Nepoužívej placené NuGet balíčky (např. FluentAssertions je nově placená, nahraď ji třeba AwesomeAssertions).
  • Prioritně řeš výkon – snaž se minimalizovat alokace paměti, používej Span<T> a další moderní techniky.
  • Používej pouze free a bezpečné balíčky.
  • Vždy mysli na bezpečnost a nepoužívej zastaralé či zranitelné knihovny.

Kompletní shrnutí všech pravidel

  • Dodržuj SOLID principy, KISS a DRY.
  • Dodržuj maximální velikost třídy 200 řádků.
  • Přidávej komentáře ke každé public metodě, na začátek třídy a komentuj celý interface.
  • Každá třída i interface musí být ve vlastním souboru.
  • Pro vývoj vždy využívej TDD přístup: nejdříve testy, pak logiku.
  • Po každém úkolu spusť všechny testy a ověř, že se nic nerozbilo.
  • Projekt se připravuje pro GIT – přidej .gitignore, pokud neexistuje, a udržuj readme.md.
  • Před každým úkolem si proveď analýzu a zapiš seznam úkolů do tasks.md.
  • Po každém úkolu aktualizuj soubor vibememories.md, který bude obsahovat:
    Cíl projektu
    Návrh řešení a architekturu
    Popis jednotlivých částí a problémů
    Příkazy a znalosti, které agent opakovaně potřebuje
  • Po provedení úkolu aktualizuj tasks.md.
  • Po provedení úkolů aktualizuj vibememories.md – dlouhodobou paměť agenta.
  • Jsi senior software developer a architekt řešení v C#.
  • Pracuješ na OS Windows 11, .NET 9.
  • Finální řešení sestav a otestuj automaticky.
  • Nepoužívej placené NuGet balíčky, nahraď je volně dostupnými alternativami.
  • Prioritně řeš výkon a bezpečnost.

Demonstrace rozdílu

Nyní, když máme pravidla připravena a uložena, můžeme aplikaci vytvořit znovu se všemi pravidly.

  1. Otevřete novou složku projektu.
  2. Napište svůj známý prompt:

Ahoj, napiš mi konzolovou aplikaci v jazyce C# (verze 10 nebo novější). Vytvoř celé řešení (solution) i projekt.
Program po spuštění vypíše krátké menu, ze kterého si budu moci vybrat buď násobení dvou čísel, nebo sčítání dvou čísel.
Poté zadám dvě čísla, aplikace provede výpočet a vypíše výsledek na obrazovku.

  1. Sledujte, jak agent rozkládá úkoly, vytváří testy a až poté kóduje.
  2. Výsledek je robustnější, strukturovanější a lépe dokumentovaný projekt.
  3. Program je otestovaný a připravený na další rozšiřování.

Výstupy ke stažení a inspirace

Závěr

V dnešním díle jsme si ukázali, co jsou pravidla (Rules), jak je zadávat a proč jsou nezbytná pro kvalitní vývoj pomocí AI agentů.

V dalších částech se zaměříme na další pokročilá nastavení Cursoru, srovnání s jinými agentními systémy, práci s pamětí, MCP servery a možnosti integrace Cursoru s dalšími systémy.

Děkuji za pozornost a těším se na další pokračování!

"

Rate this post
Comments (0)
Add comment
Comment will be displayed after approval by administrator.

No comments yet. Be the first!