Strip Lovable scaffolding and ship a clean codebase
Strips Lovable scaffolding, branding, and generated docs from an exported project across 14 named cleanup areas.
Why it matters
Remove all traces of Lovable.dev branding, dependencies, and generated documentation from exported Vite + React projects so developers can ship or open-source a clean, ownable codebase without scaffolding fingerprints.
Outcomes
What it gets done
Remove lovable-tagger dependency and componentTagger() calls from vite.config.ts
Replace generic favicon, og-image, and title tags with real brand assets
Delete CLEANUP_SUMMARY.md, DEPLOYMENT_GUIDE.md, and other generated docs
Audit and remove unused shadcn/ui components and Radix UI primitives
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-lovable-cleanup | bash Overview
Lovable Cleanup
A 14-area cleanup audit for Vite/React/shadcn projects exported from Lovable, removing its tagger dependency, branding artifacts, generated docs, and unused component packages. Use right after exporting a project from Lovable and before shipping or open-sourcing it, to strip all Lovable-specific scaffolding and branding.
What it does
lovable-cleanup removes every trace of Lovable (lovable.dev) scaffolding from an exported Vite + React + shadcn/ui project - dependency, branding, and generated docs - across 14 named areas, so the codebase ships as fully the developer's own.
When to use - and when NOT to
Use this when the user says "clean up my Lovable project," "remove Lovable branding," "de-Lovable," or "I exported from Lovable," when lovable-tagger appears in package.json, when CLEANUP_SUMMARY.md/DEPLOYMENT_GUIDE.md/DEVELOPMENT_SUMMARY.md are present, when index.html still has a generic title or Lovable favicon, or when auditing any Vite/React project for scaffolding leftovers before shipping.
Inputs and outputs
Lovable injects three categories of scaffolding: the lovable-tagger dev dependency plus a componentTagger() call in vite.config.ts, the only runtime hook and always safe to remove; branding artifacts such as the favicon, og-image.png, logo.png, a generic <title>, and a Lovable project URL in the README; and generated docs like CLEANUP_SUMMARY.md, DEPLOYMENT_GUIDE.md, DEVELOPMENT_SUMMARY.md, and LOGO_UPDATE.md. A recommended 8-step execution order removes dependencies first to avoid lockfile conflicts, then build config, entry points, assets, docs and README last so they reflect the already-cleaned project, then environment and Git as a security sweep, then SEO/deploy config, usually a no-op, and finally unused dependency pruning, deferrable if on a deadline. The 14 specific areas cover README.md (strip the Lovable welcome line, project URL, and instruction blocks), package.json (remove the tagger dep, rename from the generic default, scan scripts for stray entries), vite.config.ts (remove the tagger import and its conditional plugin registration), index.html (title, generator comment, favicon), public/ assets (swap favicon/og-image/logo, delete unused placeholder SVGs), source files (grep for Lovable-generated comments or wrappers), the lockfile, package.json scripts as a follow-up check, environment files (redact and remove any Lovable keys or project IDs, deleting the whole line rather than leaving it empty), root markdown docs (skim before deleting, since some hold useful architecture notes worth preserving), SEO/deploy config and OG meta tags, Git config and hooks, unused dependencies (map actually-imported Radix/shadcn packages, diff against installed, bulk-remove, and verify with a build, keeping @radix-ui/react-slot since it's an indirect dependency used internally via the asChild prop), and generic artifacts like components.json aliases and eslint.config.js. A master recursive grep across the whole project catches anything missed.
Integrations
Every scan command is read-only with no network calls, and env-file scans redact matched values before display. The output is a fixed cleanup report with three sections: Cleaned (changes made), Needs your input (brand assets, project name, domain decisions the skill can't make itself), and Deferred (safe-to-postpone items like dep pruning or the OG image swap). It names three related skills - @vite-config, @shadcn-setup, @react-cleanup - and does not create brand assets, auto-fix components.json aliases, or cover Lovable-specific backend integrations like Supabase row-level security.
Who it's for
Developers who exported a project from Lovable and need it fully de-branded and ownable before shipping or open-sourcing, with troubleshooting guidance for common follow-on issues: a missing-module build error after removing a Radix package, lovable-tagger surviving in the lockfile after uninstall, and a stale browser tab title caused by a runtime title override.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.