Launch
Take a project from a folder on your computer to a live URL — GitHub, Vercel and, when needed, Supabase.
Launch is a bundled plugin that publishes a project: GitHub sign-in → save to a repository → Vercel sign-in → database if the project uses one → environment variables → publish. One step at a time, one primary button, no copying tokens by hand.
Open it from the rocket button above a pane, or the command palette (Launch: Publish this project to the web).
The steps#
- Project check — looks at the focused pane's folder and names the framework (Next.js, Vite, Astro, a static site, …).
- Tools — needs the GitHub CLI and the Vercel CLI. If neither is on your
PATH, Launch installs both into its own data folder — nothing system-wide. - GitHub sign-in — runs the CLI's browser login for you; the one-time code is shown and copied.
- Save to GitHub — commits everything and creates a new private repository. Public is a toggle.
- Vercel sign-in — same idea.
- Database — only for projects that use Supabase, or after you press Connect a database.
- Environment variables — if
.envfiles exist, their names (never values) are listed with a toggle for each. Values that only make sense locally start switched off. - Publish — deploys to production, with a live log, and connects the repository to Vercel so future pushes deploy by themselves.
What it refuses to do#
- It adds env files, key files and local tool state to
.gitignorebefore the first commit, and refuses to save if a real env file or key file is tracked or staged. - A project that already has a remote shows where it points and asks once before anything is pushed there.
- It writes
.vercelignorefirst, so idea notes,.claude/, migrations and env files are never uploaded.
Whose accounts#
Your own. Launch signs you in through each service's official tool and its own sign-in page; the tokens stay with those tools on your machine. What you publish goes to GitHub, Vercel and Supabase under their terms, and none of it reaches us.
Any step that fails shows a short message with Try again and an option to hand the problem to the agent.