Home › All prompts › Ship It Live

Mini pack

Free

Ship It Live

Get your app live on Vercel or Netlify, and fix it when the deploy breaks.

10 prompts in 5 sections. Replace everything in [BRACKETS IN CAPS], then copy and paste into your AI tool.

Download the free PDF

PDF, 16 pages

Works best with

  • Claude Code or Cursor: they can run a clean production build locally, which Prompt 2.1 asks for.
  • v0: it publishes to Vercel, so the Vercel prompts match how its apps go live.
  • Bolt: it can publish to Netlify, so the Netlify prompts apply.

Every prompt works in any AI chat.

All 10 prompts

  1. 1.1 "I Changed the Env Var and Nothing Happened"
  2. 1.2 Preview vs Production Settings
  3. 2.1 Reproduce the Host's Build on My Computer
  4. 2.2 Type and Lint Errors That Only Show Up in the Build
  5. 2.3 Wrong Folder, Wrong Command, Wrong Output
  6. 3.1 404 When I Refresh or Open a Link Directly
  7. 3.2 Redirects, Trailing Slashes, and a Real 404 Page
  8. 4.1 Connect My Custom Domain
  9. 4.2 "Invalid Configuration" or No HTTPS
  10. 5.1 Login Sends People to Localhost (or Fails After Deploy)

Section 1: Environment Variables on the Host

1.1 "I Changed the Env Var and Nothing Happened"

Use this when you added or changed a variable on Vercel or Netlify and the app still behaves the old way, or the value shows as undefined. It's for figuring out why a new or updated environment variable isn't showing up on your live site.

Fill in: [VERCEL / NETLIFY], [FRAMEWORK] (e.g. Next.js, Vite + React, SvelteKit, Astro), [NAME], [BROWSER CODE / SERVER CODE / BUILD STEP / NOT SURE], [WHAT I SEE] (e.g. "undefined", "still the old value", "works in preview but not production").

I added or changed an environment variable on my host and my live app doesn't see it. Help me find out why.

Host: [VERCEL / NETLIFY]
Framework: [FRAMEWORK]
Variable name (no value): [NAME]
Used in: [BROWSER CODE / SERVER CODE / BUILD STEP / NOT SURE]
What I see: [WHAT I SEE]

Please check these in order and explain each in plain English:
1. Did I redeploy? On both Vercel and Netlify, changes to environment variables only apply to new deploys. Tell me how to trigger a redeploy on my host.
2. Is the variable set for the right environment or deploy context (Production vs Preview vs Development on Vercel; production, deploy previews, branch deploys on Netlify)?
3. On Netlify, is the variable's scope right (for example, server-side rendering usually needs both the Builds and Functions scopes)?
4. If the browser needs it: does my framework require a prefix (like NEXT_PUBLIC_ or VITE_)? Remember these values get baked into the browser code at build time, so they must never be secrets.
5. If server code needs it: am I reading it in server code, not browser code?
6. Is the name spelled exactly the same (including capital letters) in the code and on the host?
7. Is something else overriding it (for example a value in netlify.toml or vercel.json, or a .env file committed by mistake)?

Then tell me the fix and how to confirm it worked without printing the secret value.

Tips to customize: On Vercel, vercel env pull downloads your Development variables to a local file so you can compare names. Don't commit that file.

1.2 Preview vs Production Settings

Use this when preview links break, or you're worried previews are using your real database, live Stripe keys, or production email sending. It's for making preview deploys work properly without touching production data or using live payment keys.

Fill in: [VERCEL / NETLIFY], [SERVICES I USE] (e.g. Supabase, Stripe, Resend, OpenAI), [WHAT HAPPENS NOW] (e.g. "preview links can't log in", "previews use my real database", "not sure").

Help me set up separate settings for preview deploys and production on my host.

Host: [VERCEL / NETLIFY]
Services I use: [SERVICES I USE]
What happens now: [WHAT HAPPENS NOW]

Please:
1. Explain in plain English what preview deploys are and when my host creates them.
2. List every environment variable my app uses (names only) and recommend which value each should use in Preview vs Production (for example Stripe test keys in Preview, live keys only in Production).
3. Tell me where to set different values per environment on my host.
4. Flag anything in Preview that could touch real users or real money (sending real emails, charging cards, writing to the production database).
5. Explain how login works on preview URLs, which change for every deploy, and point me to Prompt 5.1 for the redirect settings.
6. Remind me to redeploy previews after changing their variables.

Section 2: Build Errors

2.1 Reproduce the Host's Build on My Computer

Use this when the deploy fails on Vercel or Netlify but npm run dev works fine. It's for running the same kind of clean build your host runs, so you can see and fix the error locally.

Fill in: [VERCEL / NETLIFY], [FRAMEWORK], [NPM / PNPM / YARN / BUN], [ERROR].

My build fails on my host but my app works locally. Help me reproduce the host's build on my own computer so I can fix it.

Host: [VERCEL / NETLIFY]
Framework: [FRAMEWORK]
Package manager: [NPM / PNPM / YARN / BUN]
The first error line from the build log (not the last line): [ERROR]

Please:
1. Explain why "npm run dev" can work when the build fails (dev mode is more forgiving, skips some checks, and uses my local files and settings).
2. Give me exact commands to do a clean production build like the host does: a fresh clone or a clean install from the lockfile (for example npm ci), then the same build command my host uses.
3. Help me match the Node.js version. On Vercel it's set in Project Settings, and the "engines" field in package.json overrides it. On Netlify it's set with a .nvmrc or .node-version file, a NODE_VERSION variable, or the UI.
4. Tell me how to run my host's own build locally if it helps (vercel build with the Vercel CLI, or netlify build with the Netlify CLI).
5. Check for things that only exist on my computer: uncommitted files, files ignored by .gitignore that the code imports, a local .env, or globally installed tools.
6. Once the error shows up locally, explain it and fix it.

2.2 Type and Lint Errors That Only Show Up in the Build

Use this when the build log is full of type errors or lint errors you never saw while developing. It's for fixing TypeScript or ESLint errors that block the production build, properly, without just switching the checks off.

Fill in: [FRAMEWORK], [PASTE THE FIRST 10-20 ERROR LINES].

My production build fails with TypeScript or lint errors. Help me fix them properly.

Framework: [FRAMEWORK]
Errors from the build log: [PASTE THE FIRST 10-20 ERROR LINES]

Please:
1. Explain why these show up in the production build and not in dev mode.
2. Group the errors by type (for example "possibly undefined", "wrong prop type", "unused variable", "missing type for a library") so I can fix them in batches.
3. Fix each group the right way. Don't use "any", "@ts-ignore", or "eslint-disable" unless there's truly no better option, and if you do, explain why with a comment.
4. Tell me how to run the same checks locally (for example a type-check command) so I catch them before pushing.
5. If my config ignores build errors (for example settings that skip type checking during builds), tell me the risk and how to turn the checks back on safely.
6. List every file changed.

Tips to customize: If there are hundreds of errors, ask the AI to fix only the ones that block the build first, then the rest in small batches with a commit after each.

2.3 Wrong Folder, Wrong Command, Wrong Output

Use this when the build "succeeds" but the site is blank or shows a host 404, or the log says it can't find package.json or the output folder. It's for fixing build settings that point at the wrong place: root directory, build command, or output/publish folder.

Fill in: [VERCEL / NETLIFY], [FRAMEWORK], [PROJECT LAYOUT] (e.g. "app is in the repo root" / "app is in a /frontend folder" / "monorepo with apps/web"), [WHAT I SEE] (e.g. "blank page", "host 404 on the homepage", "can't find package.json"), [SHARE YOUR FOLDER STRUCTURE (TOP 2 LEVELS) AND PACKAGE.JSON SCRIPTS].

I think my host's build settings are wrong. Help me check them.

Host: [VERCEL / NETLIFY]
Framework: [FRAMEWORK]
Project layout: [PROJECT LAYOUT]
What I see: [WHAT I SEE]
[SHARE YOUR FOLDER STRUCTURE (TOP 2 LEVELS) AND PACKAGE.JSON SCRIPTS]

Please:
1. Tell me what the correct values are for my setup: root/base directory, install command, build command, and output/publish directory.
2. Show me where each setting lives (the host dashboard, vercel.json, or netlify.toml) and which one wins if both are set.
3. Explain how to check the right output folder by running the build locally and seeing which folder appears (for example dist, build, out, or .next).
4. Flag any leftover config file from a different host or framework that might be confusing the build.
5. Give me the exact changes, then tell me how to redeploy and confirm.

Section 3: Routing & 404s

3.1 404 When I Refresh or Open a Link Directly

Use this when clicking links in your app works, but refreshing a page or opening a shared link gives a 404. It's for fixing the classic single-page-app problem where any page other than the homepage shows a 404 on refresh.

Fill in: [VERCEL / NETLIFY], [FRAMEWORK AND ROUTER] (e.g. "Vite + React Router", "Vue Router", "Next.js", "not sure"), [EXAMPLE URL THAT FAILS] (e.g. /dashboard/settings).

My app's pages work when I click links, but refreshing or opening a URL directly gives a 404. Help me fix it.

Host: [VERCEL / NETLIFY]
Framework and router: [FRAMEWORK AND ROUTER]
Example URL that fails: [EXAMPLE URL THAT FAILS]

Please:
1. Explain in plain English why this happens: in a single-page app, the server only has index.html, so it doesn't know about routes that only exist in the browser.
2. Check whether my app is actually a single-page app or uses server rendering (like Next.js, Nuxt, SvelteKit, or Astro with an adapter). If it uses server rendering, a catch-all rewrite is usually the wrong fix and can break server routes, so check the framework's own setup instead.
3. If it is a single-page app:
   - On Netlify: add a _redirects file in the publish folder (for Vite, put it in /public so it gets copied) with the rule  /*  /index.html  200
   - On Vercel: add a vercel.json in the project root with a rewrite from "/(.*)" to "/index.html" (and tell me what changes if cleanUrls is turned on).
4. Make sure real files (images, CSS, JS) still load normally and that my API routes aren't caught by the rewrite.
5. Tell me how to test it after redeploying: refresh a deep page, open it in a private window, and check a URL that truly doesn't exist.

Tips to customize: Once every URL serves your app, truly unknown URLs won't get a host 404 anymore. Ask the AI to add a "page not found" route in your app's router as well.

3.2 Redirects, Trailing Slashes, and a Real 404 Page

Use this when you renamed pages, have the same page at two URLs (with and without a trailing slash), or still show the host's default 404 page. It's for sending old or duplicate URLs to the right place and giving lost visitors a helpful page.

Fill in: [VERCEL / NETLIFY], [FRAMEWORK], [OLD URLS THAT MOVED] (e.g. "/pricing -> /plans"), [DUPLICATE URL ISSUES] (e.g. "/about and /about/ both work").

Help me tidy up my site's URLs on my host.

Host: [VERCEL / NETLIFY]
Framework: [FRAMEWORK]
Old URLs that moved: [OLD URLS THAT MOVED] or "none"
Duplicate URL issues: [DUPLICATE URL ISSUES] or "not sure"

Please:
1. Explain the difference between a permanent redirect (301/308), a temporary one (302/307), and a rewrite, in plain English, and when to use each.
2. Add redirects for my moved URLs in the right place for my host and framework (framework config, vercel.json, netlify.toml, or a _redirects file).
3. Pick one trailing-slash style and set it so the other version redirects, using my host's or framework's setting.
4. Create a branded 404 page with a short friendly message, a link home, and links to my most useful pages, and make sure it returns a real 404 status code.
5. Give me a list of URLs to test after deploying, and how to check the status code in the browser's Network tab.

Section 4: Custom Domains

4.1 Connect My Custom Domain

Use this when you bought a domain and want your Vercel or Netlify site to use it. It's for walking through the DNS records for your own domain, step by step, without breaking email.

Fill in: [VERCEL / NETLIFY], [DOMAIN] (e.g. myapp.com), [WHERE I BOUGHT IT / WHERE DNS IS MANAGED] (e.g. Namecheap, GoDaddy, Cloudflare, Porkbun), [YES / NO], [MYAPP.COM / WWW.MYAPP.COM].

Help me connect my custom domain to my site. I've never done DNS before.

Host: [VERCEL / NETLIFY]
Domain: [DOMAIN]
Where I bought it / where DNS is managed: [WHERE I BOUGHT IT / WHERE DNS IS MANAGED]
Do I use this domain for email? [YES / NO]
Which should be the main address? [MYAPP.COM / WWW.MYAPP.COM]

Please:
1. Explain the difference between the apex domain (myapp.com) and a subdomain (www.myapp.com), and why the apex usually needs an A record (or ALIAS/ANAME/flattened CNAME if my DNS provider supports it) while www uses a CNAME.
2. Tell me to add the domain in my host's dashboard FIRST, then copy the exact record values the dashboard shows me. Don't give me IP addresses or targets from memory, because hosts can give different projects different values.
3. Walk me through adding those records at my DNS provider: what goes in the Type, Name/Host, and Value fields.
4. Tell me which old records to remove (for example old A or AAAA records for the same name from a previous host), and warn me not to delete MX or TXT records used for email or verification.
5. Explain the difference between just adding records and switching my nameservers to the host, and what I'd need to copy over first if I switch.
6. Set one address as the main one and redirect the other to it.
7. Tell me how long DNS changes can take, and how to check progress without panicking.

Tips to customize: If your DNS is on Cloudflare, ask the AI whether the orange-cloud proxy should be on or off for your host. Check your host's docs for the current advice.

4.2 "Invalid Configuration" or No HTTPS

Use this when your host's domain page shows an error, HTTPS isn't working, or only myapp.com (or only www) works. It's for fixing a domain that's stuck, shows a certificate warning, or works on one address but not the other.

Fill in: [VERCEL / NETLIFY], [DOMAIN], [COPY THE MESSAGE], [WHAT HAPPENS IN THE BROWSER] (e.g. "certificate warning", "old site shows up", "only www works"), [COPY THEM FROM YOUR DNS PROVIDER: TYPE, NAME, VALUE].

My custom domain isn't working properly. Help me find what's wrong.

Host: [VERCEL / NETLIFY]
Domain: [DOMAIN]
What the host's domain page says: [COPY THE MESSAGE]
What happens in the browser: [WHAT HAPPENS IN THE BROWSER]
My current DNS records: [COPY THEM FROM YOUR DNS PROVIDER: TYPE, NAME, VALUE]

Please:
1. Compare my records with what my host expects and point out anything wrong or conflicting (duplicate A records, a leftover AAAA record, a CNAME at the apex where my provider doesn't support it, a typo in the target).
2. Tell me how to check what the world currently sees (for example a DNS lookup website or the dig/nslookup commands), and what the output should look like.
3. Explain that HTTPS certificates are usually issued automatically once the records are correct, and that it can take a little while.
4. Check for a CAA record that might block the certificate.
5. If only one of the apex and www works, check that both are added to the project and that one redirects to the other.
6. Give me the fixes in order, and what to wait for after each.

Section 5: Auth After Deploy

5.1 Login Sends People to Localhost (or Fails After Deploy)

Use this when users land on localhost, a "redirect URL not allowed" error, or a blank page after login or email confirmation, or Google/GitHub login fails on the live site. It's for fixing auth redirect URLs, callback URLs, and allowed domains after you deploy.

Fill in: [VERCEL / NETLIFY], [URL], [AUTH PROVIDER] (e.g. Supabase Auth, Clerk, Auth.js/NextAuth, Firebase Auth), [LOGIN METHODS] (e.g. email magic link, Google, GitHub), [WHAT HAPPENS] (e.g. "email link opens localhost:3000", "redirect_uri_mismatch", "logged in but bounced back to login").

Login works locally but breaks on my deployed site. Help me fix the redirect and callback settings.

Host: [VERCEL / NETLIFY]
Live URL: [URL]
Auth provider: [AUTH PROVIDER]
Login methods: [LOGIN METHODS]
What happens: [WHAT HAPPENS]

Please check, in order:
1. The site URL setting in my auth provider: is it still set to localhost? (For example, Supabase has a Site URL and a list of allowed Redirect URLs.)
2. The allowed redirect or callback URLs: is my live URL in the list, with the exact path my app uses?
3. For Google, GitHub, or other OAuth logins: the callback URL in THAT provider's developer console must match exactly too (https, domain, and path).
4. My code: am I building the redirect URL from a hard-coded localhost value or an environment variable that isn't set in production?
5. Preview deploys: their URLs change each time. Explain my options (for example, a carefully limited wildcard pattern if my auth provider supports it, or a fixed preview domain), and warn me not to allow overly broad wildcards.
6. Cookies and sessions: anything that breaks when moving from localhost to an https domain.

Give me the exact settings to change, where each one lives, and how to test login in a private window afterward.

Tips to customize: For Supabase with Vercel previews, Supabase's redirect URL docs show a wildcard pattern scoped to your own Vercel team or account. Copy it from their docs rather than writing your own broad wildcard.

More free packs: Vibe Code Starter Pack Ship It Safe Fix My Bugs Make It Pretty Get Paid Signup Emails That Actually Arrive Lovable Credit Saver One Rules File for Every AI Tool Make Your Claude Code Limit Last Graduate From Lovable First App Store Submission

Get new prompts free by email

Optional. You don't need to sign up to use any prompt. Occasional emails when we add new prompts and packs. Unsubscribe anytime.