Skip to content
Back to skills

Deploy

ASecurity

With approval, apply the migrations to the person's Supabase project and publish the screen, built for that project, on Cloudflare.

  • 234 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 30, 2026
ai-agentsgonodeapidatabasesecurity

Works with

  • api

Security analysis

A100/100

Scanned September 30, 2026

npx -y skills add receptron/mulmoterminal --skill deploy --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Deploy?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Deploy
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/receptron-deploy-mulmoterminal/badge)](https://www.skillsdirectory.com/skills/receptron-deploy-mulmoterminal)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: blueprint-supabase-deploy
description: "With approval, apply the migrations to the person's Supabase project and publish the screen, built for that project, on Cloudflare."
---

# Publish to Supabase and Cloudflare

This step's gates are **deploy-production** and **credential**: the user has approved publishing, and signing in to
their own Supabase and Cloudflare accounts. You never handle a password, an access token or the secret key.

1. **The Supabase project.** Ask the person, through the blueprint question tool, to create a project on the free
   plan in the Supabase dashboard (or name an existing empty one) and to run, in this folder, `yarn supabase login`
   and then `yarn supabase link --project-ref <ref>` — it asks for the database password, which only they type. If
   the free plan has no room for another project, stop and say so: a paid project is theirs to decide.
2. **The schema.** `yarn supabase db push` applies the migrations. Never `--include-seed`: the seed's accounts and
   passwords are for trying the app locally, not for production.
3. **Sign-in settings.** Add the published URL to `site_url` and `additional_redirect_urls` in
   `supabase/config.toml` once it is known (step 6), with `enable_signup` as the spec says, and apply them with
   `yarn supabase config push`.
4. **What the page gets.** `yarn supabase projects api-keys --project-ref <ref>` (never `--reveal`) gives the
   publishable key. Write `.env.production` with `VITE_SUPABASE_URL=https://<ref>.supabase.co` and
   `VITE_SUPABASE_PUBLISHABLE_KEY=<publishable key>` — both are public by design, and nothing else goes in it — and
   the same URL to `.blueprint/supabase-url`. It must be the project this folder is linked to: the check reads the
   migrations and the linter from the linked project, and refuses a URL that names another.
5. **The screen.** `yarn wrangler whoami`; if not signed in, ask the person to run `yarn wrangler login` in this
   folder. Then build for production and give this build an id:
   `yarn vite build --mode production && node -e 'console.log(require("crypto").randomUUID())' > .blueprint/build-id && cp .blueprint/build-id dist/blueprint-build.txt`,
   then `yarn wrangler deploy`.
6. Write the URL it published to (`https://…workers.dev`, or the custom domain the spec names) to
   `.blueprint/deploy-url`, then do step 3 with it and tell the person the URL.

Done when the check passes: the URL in `.blueprint/deploy-url` serves the id this deploy wrote, lets the page connect
to the Supabase in `.blueprint/supabase-url` and talks to it (and to no other), carries no secret or service_role key —
in the page and in every chunk of `dist/`, which must still hold this deploy's build (do not rebuild after deploying) —
and renders; the production database applied exactly the migrations in `supabase/migrations/`, as they read now, and
passes Supabase's security linter. (The check resets the local database to compare, so the local stack must run.)

## Always

- Read `.blueprint/spec.md` first. It is the agreed specification; do not widen it.
- When you need a decision, ask it through the blueprint question tool and stop. Do not guess.
- Never enable billing, deploy to production, delete data or handle a credential unless this step's gates say the
  user approved exactly that.
- Say you are done by stopping; the executor runs the check. Do not claim success yourself.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.