From lovable
Integrates with Lovable.dev projects: deploys Supabase Edge Functions, applies database migrations, and distinguishes Vite SPA vs TanStack Start architectures. Provides exact Lovable prompts for backend operations.
How this skill is triggered — by the user, by Claude, or both
Slash command
/lovable:lovableThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill enables Claude Code to work effectively with Lovable.dev projects while respecting Lovable's deployment requirements.
This skill enables Claude Code to work effectively with Lovable.dev projects while respecting Lovable's deployment requirements.
Activate when:
supabase/ directory with Edge FunctionsLovable supports two architectures. Always detect which one you're working with before giving advice.
Check the root directory of the user's project:
app.config.ts present → TanStack Start (new, SSR — post-April 2026)vite.config.ts present → Vite SPA (legacy, CSR — pre-April 2026)Both are fully supported. Old projects remain on Vite and receive no forced migration.
Projects created before April 2026. Client-side rendering only.
✅ Edit freely and push to main:
src/ - All React components, pages, hooks, utilspublic/ - Static assetsvite.config.ts, tailwind.config.js, tsconfig.jsonpackage.json - Dependenciessupabase/functions/*/index.ts - Edge Function code (not deployment)supabase/migrations/*.sql - Migration files (not application)⚠️ After editing, provide Lovable prompt:
| Change Type | Lovable Prompt |
|---|---|
| Edge Function code | "Deploy the [name] edge function" |
| All Edge Functions | "Deploy all edge functions" |
| New migration file | "Apply pending Supabase migrations" |
| New table needed | "Create a [name] table with columns: [list]" |
| RLS policy | "Enable RLS on [table] allowing [who] to [what]" |
| Storage bucket | "Create a [public/private] bucket called [name]" |
| Secret/env var | Manual: Cloud → Secrets → Add |
Projects created after April 2026. Full server-side rendering (SSR) via TanStack Start.
app/routes/ (not React Router in src/App.tsx)app.config.ts (not vite.config.ts)createServerFn) let server-side logic live directly in component files — no edge function needed for simple server logic*.server.ts are server-only and never sent to the browser✅ Edit freely and push to main:
app/ - All routes, components, server functions, layoutsapp/routes/ - File-based route pagespublic/ - Static assetsapp.config.ts, tailwind.config.js, tsconfig.json - Config filespackage.json - Dependenciesapp/**/*.server.ts - TanStack server functions (auto-deploys, no Lovable prompt needed)supabase/functions/*/index.ts - Supabase Edge Function code (not deployment)supabase/migrations/*.sql - Migration files (not application)⚠️ After editing, provide Lovable prompt:
| Change Type | Lovable Prompt |
|---|---|
| Supabase Edge Function code | "Deploy the [name] edge function" |
| All Supabase Edge Functions | "Deploy all edge functions" |
| New migration file | "Apply pending Supabase migrations" |
| New table needed | "Create a [name] table with columns: [list]" |
| RLS policy | "Enable RLS on [table] allowing [who] to [what]" |
| Storage bucket | "Create a [public/private] bucket called [name]" |
| Secret/env var | Manual: Cloud → Secrets → Add |
Note: TanStack server functions (
createServerFn) are not Supabase Edge Functions. They live inapp/and deploy automatically via GitHub sync — no Lovable prompt needed. Onlysupabase/functions/requires manual deployment.
project/
├── app/ # ✅ Safe - auto-syncs
│ ├── routes/ # File-based routing
│ │ ├── __root.tsx # Root layout
│ │ ├── index.tsx # Home page (/)
│ │ └── [route].tsx # Other pages
│ ├── components/ # Shared UI components
│ ├── lib/ # Utilities and helpers
│ └── *.server.ts # ✅ Server functions (auto-deploy)
├── app.config.ts # TanStack Start config
├── public/ # Static assets
├── supabase/
│ ├── functions/ # ✅ Edit code, ⚠️ needs deploy
│ └── migrations/ # ✅ Create files, ⚠️ needs apply
└── CLAUDE.md # Project context
Lovable uses two-way GitHub sync on the main branch only:
When backend deployment is needed, always output:
📋 **LOVABLE PROMPT:**
> "[exact prompt to copy-paste]"
For destructive operations, add:
⚠️ **Warning**: [explanation of risk]
vite.config.ts present)project/
├── src/ # ✅ Safe - auto-syncs
│ ├── components/
│ ├── pages/
│ ├── hooks/
│ ├── lib/
│ └── integrations/supabase/
│ ├── client.ts # ⚠️ Has Supabase URLs
│ └── types.ts
├── supabase/
│ ├── functions/ # ✅ Edit code, ⚠️ needs deploy
│ │ └── [function-name]/
│ │ └── index.ts
│ ├── migrations/ # ✅ Create files, ⚠️ needs apply
│ │ └── YYYYMMDDHHMMSS_*.sql
│ └── config.toml # ⚠️ Lovable Cloud manages
├── .env # Local only - Lovable ignores
└── CLAUDE.md # Project context
app.config.ts present)project/
├── app/ # ✅ Safe - auto-syncs
│ ├── routes/ # File-based routing
│ │ ├── __root.tsx # Root layout
│ │ ├── index.tsx # Home route (/)
│ │ └── [name].tsx # Named routes
│ ├── components/ # Shared components
│ ├── lib/ # Utilities
│ ├── integrations/supabase/ # Supabase client + types
│ └── *.server.ts # ✅ Server functions (auto-deploy, no prompt needed)
├── app.config.ts # TanStack Start config
├── public/ # Static assets
├── supabase/
│ ├── functions/ # ✅ Edit code, ⚠️ needs deploy via Lovable
│ │ └── [function-name]/
│ │ └── index.ts
│ ├── migrations/ # ✅ Create files, ⚠️ needs apply via Lovable
│ │ └── YYYYMMDDHHMMSS_*.sql
│ └── config.toml # ⚠️ Lovable Cloud manages
├── .env # Local only - Lovable ignores
└── CLAUDE.md # Project context
supabase functions deploy"Deploy all edge functions"
"Deploy the send-email edge function"
"Create an edge function called [name] that [description]"
"Show logs for [name] edge function"
"The [name] edge function returns [error]. Fix it"
"Create a [name] table with columns: id (uuid), name (text), created_at (timestamp)"
"Add a [column] column of type [type] to [table]"
"Add foreign key from [table1].[col] to [table2].id"
"Apply pending Supabase migrations"
"Enable RLS on [table]"
"Add RLS policy on [table] allowing authenticated users to read all rows"
"Add RLS policy on [table] allowing users to only access their own rows"
"Create a public storage bucket called [name]"
"Create a private storage bucket called [name]"
"Allow authenticated users to upload to [bucket]"
"Enable Google authentication"
"Enable GitHub authentication"
"When user signs up, create row in profiles table"
main syncs with LovableWhen yolo_mode: on in CLAUDE.md, deployments are automated via browser automation:
Instead of showing manual prompts, the yolo skill (/skills/yolo/SKILL.md) takes over:
/lovable:deploy-edge command/lovable:apply-migration commandyolo_mode: on in CLAUDE.md/lovable:yolo on # Enable with testing
/lovable:yolo on --no-testing # Enable without testing
/lovable:yolo on --debug # Enable with verbose logs
/lovable:yolo off # Disable
⚠️ Yolo mode is in beta:
/skills/yolo/SKILL.md for detailsFrontend not updating?
main branch?Edge Function not working?
Database query failing?
Yolo mode not working?
yolo_mode: on in CLAUDE.mdnpx claudepluginhub 10k-digital/lovable-claude-code --plugin lovableBuilds a complete Butterbase app from scratch: provisions backend, designs schema, sets up auth, and deploys frontend. Use for full-stack apps with database and auth.
Deploys and manages Supabase projects in production: database migrations, Edge Functions, secrets, zero-downtime rollouts, and health checks.