Handle the full lifecycle of your project: building, deploying and managing your resources.
Animated example: void deploy. Build your app, apply migrations, and put it online on Cloudflare. One command. A complete transcript follows the player.
A React app with server routes and D1, already deployed directly to Cloudflare. Cloudflare is the saved deploy target; login and database setup are prepared. Build output is condensed.
$ void deploy blog → Cloudflare vite building client environment for production... ✓ 142 modules transformed. dist/client/assets/index-D9h2kL.js 38.42 kB ✓ built in 428ms ◇ Preparing deployment... ◇ Applying D1 migrations... ╭─ https://blog.orange-cloud.workers.dev ──╮ │ │ │ Worker: blog │ │ D1 migrations up to date │ ╰──────────────────────────────────────────╯ ✓ Successfully deployed!
Static Workers hosting, custom domain, and docs that match the live system pages.
Canonical pipeline for this repository only.
Cloud Agents and Bugbot for this repo’s PRs and deploy secrets.
authbuildinvitationuserprojectdeploymentsignupsystememailworkerconfig authlistusestatusdiscoverdomain setinstallupgraderollbackrepairdisableenableuninstallStack Builder at devstack.bid is a different repo and deploy — see ecosystem note.
VitePress docs, orange theme, browser zip merge, and Cursor Cloud Agents — one canonical build path.
VitePress static site on Cloudflare Workers — custom domain apex and www.
Browser merge for dev-void + rollspace bundles on this host.
import { defineHandler, type InferProps } from 'void';
import { db } from 'void/db';
import { posts } from '@schema';
export const loader = defineHandler(async () => ({
posts: await db.select().from(posts),
}));
export type Props = InferProps<typeof loader>;Guide and Reference imported for framework APIs — separate from devstack.bid product.