Guides

Deploy

Upload the project file tree — schema, APIs, and frontend — to Starbase.

From a linked project folder:

terminal

robodev deploy

The CLI reads robodev/.robodev, collects the allowed file tree (robodev/database.ts, robodev/api/**/*.ts, robodev/jobs/**/*.ts, robodev/sockets/**/*.ts, robodev/hooks/**/*.ts, optional robodev/package.json, index.html, src/**, and config files), and POSTs them to /v1/projects/:id/deploy. When robodev/.robodev has a frontend object, it also runs the local package.json script (default build) in that root and uploads the static output as index.html + public/** (including fonts and images under public/). frontend: false skips that build. Starbase compiles APIs, jobs, sockets, hooks, and the hosted UI, syncs the schema, and serves the app on the project host. The dashboard Code page Save uses the same API and does not run Vite. Dashboard create stays schema + APIs only.

API packages

Optional runtime dependencies for APIs and jobs live in robodev/package.json (not the root package.json used by hosted frontend / local CLI). Only these packages are allowed: date-fns, dayjs, nanoid, uuid, ms, slugify, decimal.js, lodash, lodash-es, ts-pattern, jose, bcryptjs, stripe, zod, superjson. Each version must be an exact semver (1.2.3 or 1.2.3-rc.1). scripts must be absent or {}. @robodev-ai/sdk may be listed for local DX but is not installed for the tenant. Native addons, git/file URLs, and ranges fail deploy; the previous runtime stays. Starbase installs with npm --ignore-scripts during compile and bundles the result. Do not npm install in the agent runner.

Destructive changes

If the plan would drop tables or columns, deploy returns 409. The CLI prints the SQL and asks for confirmation. Skip the prompt with --force.

terminal

robodev deploy --force

Project hosts

  • https://{projectId}.robodev.povio.dev.

Wait until live

After Starbase accepts the deploy, the CLI waits until the public project host is reachable and the tenant database accepts a connection (up to 30 seconds). Then it prints the App URL, Docs URL (/_robodev/docs), schema operations, and registered routes.

If the host does not become reachable in time, the command exits with an error. The deploy was accepted, but the CLI does not print Deployed to ….