Skip to content

Deploying

Deploying

Every Skrypt project can be deployed to a live URL. The platform compiles your MDX files into a static HTML site and uploads it to Cloudflare Pages. No build configuration required.

How deploy works

The deploy pipeline runs these steps in order:

  1. Build -- The static site builder compiles your MDX files into HTML pages with sidebar navigation, table of contents, breadcrumbs, search index, and client-side JavaScript.
  2. Upload -- The built files are uploaded to a Cloudflare Pages project named skrypt-{slug}.
  3. Domain -- Your project is assigned a default subdomain at {slug}.skrypthq.dev. This step is idempotent, so redeployments reuse the same domain.
  4. Record -- A deploy record is stored in Supabase with status, URL, Cloudflare deployment ID, and timestamp.

The entire pipeline runs within a 50-second timeout. If the build or upload exceeds this limit, the deploy is marked as failed.

Deploy from the dashboard

Navigate to your project page in the dashboard. Click the Deploy now button. The button shows a spinner while the deployment is in progress. On success, the live URL appears below the button as a clickable link.

Deploy from the editor

The editor toolbar includes a Deploy button with a rocket icon. Save your changes first -- the Deploy button is disabled while unsaved changes exist. Click Deploy to trigger the same pipeline. A banner at the top of the editor shows:

  • Green -- Deployment succeeded, with the live URL
  • Red -- Deployment failed, with the error message
  • Amber -- Deployment infrastructure is not yet configured (contact support)

Auto-deploy on file upload

When you upload files through the import flow, the platform can trigger a deployment automatically. This keeps your live site in sync with your latest content without a manual deploy step.

Default URL

Every project gets a free subdomain:

https://{slug}.skrypthq.dev

Replace {slug} with your project slug. For example, a project with slug my-api is available at https://my-api.skrypthq.dev.

Deploy history and status

Each deployment creates a record with one of three statuses:

StatusMeaning
buildingBuild and upload in progress
liveSuccessfully deployed and serving traffic
failedBuild or upload failed (error message stored)

Deploy records include the Cloudflare deployment ID, the final URL, and a completed_at timestamp. View deploy history from your project's dashboard page.

Async deployments

For larger sites, deployments are queued asynchronously. The API returns a buildId immediately that you can poll for status. The queue processes builds in order and falls back to synchronous execution when the queue is not configured.

Possible queue statuses:

StatusMeaning
queuedBuild is waiting to be processed
liveBuild completed and site is live
failedBuild failed

Deploy limits

PlanDeploys per day
Free3
Pro100

Each deploy counts against your daily limit regardless of success or failure. The limit resets at midnight UTC.

What's next

Was this helpful?