Strávili jste víkend v Cursoru, Lovable nebo Boltu a nasadili fungující MVP. Vibe byla skvělá, dopaminový shot byl reálný a první uživatelé byli ohromení. Teď se snažíte přidat funkce, onboardovat vývojáře nebo projít bezpečnostním review - a najednou se kód, který cítil jako magie, cítí jako bahno.
Vibe-coded MVP se stávají technickým dluhem stejně, jako startupové kódové báze vždy: příliš rychle, příliš nestrukturovaně, bez kontroly výstupu. Tady je deset znamení, že vaše AI-built MVP překročilo do dluhového území, seřazené od nejmenší po nejvyšší naléhavost.
1. Máte soubory přes 1000 řádků
AI nástroje generují kód, ale málokdy ho refaktorují. Výstup se přidává, až jeden React komponent dělá práci patnácti. Pusťte wc -l na zdrojové soubory. Pokud je víc než pět nad 800 řádků, vaše kódová báze roste bez dekompozice.
Cena opravy: 2týdenní cleanup sprint pro nejhorší případy. Soubory pod 300 řádků se snadněji testují, refaktorují a chápou.
2. Vaše test coverage je nula
Pusťte test příkaz s coverage. Pokud je číslo 0 % (běžné) nebo pod 10 % (velmi běžné), každá změna, kterou uděláte, má vysokou šanci rozbít něco jiného.
Cena opravy: nejdřív přidejte smoke testy nejdůležitějších user flow. Unit testy kritické business logiky pak. Mířte na 60-80 % coverage na modulech, na kterých záleží, ne 100 % všude.
3. TypeScript je většinou "any"
Zapněte strict mode v tsconfig.json a pusťte tsc --noEmit. Spočítejte chyby. Pod 50: zvládnutelné. Přes 500: AI generovala bez type safety a každá změna riskuje runtime chyby, které měl TypeScript zachytit.
Cena opravy: inkrementálně - zapněte strict mode soubor po souboru, ne všechno najednou.
4. Nemůžete spustit aplikaci lokálně
Pokud je váš local dev rozbitý, nebo aplikace běží jen uvnitř Lovable / Replit / Bolt, vlastně nevlastníte svůj software. Vyzkoušejte: naklonujte repo do nového adresáře a postupujte podle vlastního README. Pokud ho nezprovozníte do 15 minut, nezprovozní ho ani další vývojář, kterého najmete.
Cena opravy: pár dní na nastavení Docker Compose nebo pořádných npm scriptů.
5. Secrets jsou commitnuté do gitu
Pusťte git log --all -p | grep -iE "(api_key|secret|password|token).*=". Pokud se něco vrátí, máte credentials v git historii. Nejsou jen vystavené teď - jsou vystavené napořád, i když je odstraníte z HEAD.
Cena opravy: okamžitá. Rotujte každý vystavený secret. Použijte BFG nebo git-filter-repo na vyčištění historie, pokud klíče nelze levně rotovat.
6. Vaše Supabase RLS je permisivní
Otevřete Supabase dashboard, jděte na Authentication → Policies a zkontrolujte každou tabulku s uživatelskými daty. Pokud vidíte USING (true) pro anon role na kterékoliv z těchto tabulek, kdokoliv s vaší URL může ta data číst. AI nástroje generují tohle pravidlo defaultně, aby demo "fungovalo".
Cena opravy: hodiny, ale vysoká naléhavost. Zpřísněte policies na row-owner only.
7. Každá AI změna rozbije jinou funkci
Pokud jste si všimli, že žádost o změnu jedné věci AI pořád rozbíjí něco nesouvisejícího, je to znamení, že váš kód má skryté coupling. Funkce jsou propletené, moduly implicitně sdílejí state a AI nevidí závislosti, dokud se nerozbijí.
Cena opravy: cílený refaktor nejčastěji měněných souborů. Přidejte testy nejdřív, ať regrese vyplavou hned.
8. Jste zamčení v platformě
Lovable šablony, Replit runtime, v0 component vzory, Bolt full-stack scaffolding - každý vytváří lock-in. Otázka: můžete dnes přesunout aplikaci na Cloudflare Pages nebo Vercel, aniž byste přepisovali víc než 20 %? Pokud ne, máte vendor lock-in.
Cena opravy: od 2týdenní migrace po plný rewrite, podle hloubky platform integrace.
9. Nové vývojářské onboardingy trvají týdny
Předejte repo vývojáři, který ho nestavěl. Požádejte o přidání malé funkce. Pokud to trvá víc než dvě hodiny, váš kód je obtížnější číst, než by měl. Tato cena se násobí každým novým hire.
Cena opravy: dokumentace, dekompozice souborů, konzistentní vzory. Pár dní investice na úsporu týdnů na vývojáře.
10. Bojíte se nasadit
Nejjasnější znamení technického dluhu je strach. Pokud push do produkce cítí jako riziko - pokud odkládáte deploys, pokud každý release vyžaduje manuální testování, pokud jste zvažovali zmrazit vývoj, abyste nic nerozbili - váš kód vám něco říká. Poslouchejte ho.
Cena opravy: CI/CD pipeline s automatickými testy, staging environment a rollback plán. Tato jediná změna sníží deploy anxietu víc než jakákoli jiná intervence.
Co dělat dál
Tři nebo méně znamení platí: přidejte si CI/CD a základní testy sami. Jste v pohodě. Čtyři až šest: objednejte si audit a naplánujte stabilizační sprint. Sedm a víc: zastavte přidávání funkcí, dokud nevyřešíte základ - každá nová funkce na rozbitých základech násobí budoucí cenu.
Detaily na Záchraně Vibe Kódu. Nebo si přečtěte pilíř: Co je vibe coding a kdy vaše AI aplikace potřebuje záchranu?