Lekce 01.3: Nastavení projektu (Setting Up the Project)
🧠 Mentální model & teoretický rozbor
Kódovací agent nemá oči ani fyzický mozek – jeho vnímání reality je stoprocentně určeno tím, jaké soubory mu harness zpřístupní. Pokud je váš projekt zaplaven nepořádkem:
- Agent otevře složku
dist/a začne analyzovat minifikovaný JavaScript plný generovaných proměnnýcha, b, c. - Agent prohledá
node_modules/a načte do kontextu 50 000 tokenů cizích knihoven. - Výsledek: Okamžité vyčerpání rozpočtu tokenů a pád do Dumb Zone.
PROJEKTOVÝ ADRESÁŘ:├── src/ <── ZDE chceme, aby agent pracoval (TypeScript zdrojáky)├── dist/ / build/ <── ZÁKAZ VSTUPU (Zabíjí kontext minifikovaným kódem)├── node_modules/ <── ZÁKAZ VSTUPU (Desítky tisíc cizích souborů)└── .env <── PŘÍSNÝ ZÁKAZ (Riziko úniku API klíčů a hesel)Deterministické mantinely projektu (TypeScript tsconfig.json, linter a .gitignore) jsou vaší první linií obrany.
🏢 Realistický scénář z praxe
Představte si full-stack repozitář (Next.js + Prisma + Tailwind CSS). Vývojář zapomněl přidat složku .next do .gitignore.
Když zadá agentovi: „Najdi, kde se renderuje profil uživatele,“ agent použije nástroj GrepSearch. Vyhledávač vrátí 40 výskytů ze serverových buildů v .next/server/pages/.... Agent otevře zkompilovaný cachovaný soubor, upraví ho tam namísto v src/components/UserProfile.tsx a vývojář se diví, proč se změny po restartu serveru ztratily.
💻 Konkrétní ukázky kódu & promptů
1. Profesionální .gitignore pro projekty s AI agenty:
# Závislostinode_modules/.pnp/.pnp.js
# Build výstupydist/build/.next/out/*.tsbuildinfo
# Dočasné a testovací logycoverage/*.lognpm-debug.log*yarn-debug.log*
# Citlivá data a prostředí.env.env*.local*.pemid_rsa
# Systémový odpad.DS_StoreThumbs.db2. Přísný tsconfig.json – okamžité zrcadlo pro agenta:
{ "compilerOptions": { "target": "ES2022", "module": "NodeNext", "moduleResolution": "NodeNext", "strict": true, "noImplicitAny": true, "strictNullChecks": true, "noUncheckedIndexedAccess": true, "skipLibCheck": true }, "include": ["src/**/*"], "exclude": ["node_modules", "dist", ".next"]}⚠️ Analýza selhání & Anti-patterns
Chyba: Spoléhání na to, že agent “ví”, jaký máte linter
Pokud nemáte v repozitáři nakonfigurovaný automatický formátovač (např. Biome nebo Prettier), agent začne formátovat kód podle svého náhodného stylu (jednou jednoduché uvozovky, podruhé dvojité; jednou 2 mezery, podruhé 4).
- Důsledek: Obří Git diffy plné změn mezer, kde lidský revident přehlédne skutečnou byznys chybu.
🛠️ Inženýrský postup krok za krokem (Playbook)
- Vytvořte a zvalidujte
.gitignore: Ujistěte se, žegit status --ignoredsprávně skrývá všechny build artefakty. - Nainstalujte Biome (ultrarychlý linter a formátovač):
Terminál npm install --save-dev --save-exact @biomejs/biomenpx biome init - Ověřte jedním příkazem stav celého projektu:
Tento příkaz přidejte do instrukcí pro agenta jako povinný validační krok.
Terminál npx biome check src/ && npx tsc --noEmit
🧪 Praktické cvičení (Hands-on Lab)
Úkol:
Zkontrolujte svůj aktuální projekt a zjistěte, zda v něm nezůstaly nezachycené soubory, které by mohly zmást agenta.
Kroky:
- Spusťte v kořenu projektu:
Terminál git status -uall - Pokud vidíte jakékoliv soubory z
.cache,.next,distnebo soubory končící.log, okamžitě je přidejte do.gitignore. - Otestujte, zda TypeScript kompilátor vrací čistý výstup:
Terminál npx tsc --noEmit