Start

Starters

Official apps robodev create can scaffold (Space, Auth chat, Marketplace, Backend, Empty, Shadcn).

Official create apps. robodev create scaffolds Space, Auth chat, Marketplace, Backend, Empty, or Shadcn into a local folder and deploys it.

Catalog

  • space — Space. Tiny Template planets and aliens APIs plus a Povio UI in apps/fe. Pass --template space. Dashboard create deploys APIs only; CLI create/deploy with frontend set hosts the Tiny SPA.
  • auth-chat — Auth chat. Tiny chat APIs plus a Povio UI in apps/fe, with invite email. Dashboard create deploys APIs only; CLI create/deploy with frontend set hosts the Tiny SPA.
  • marketplace — Marketplace. Tiny C2C marketplace APIs plus a local Povio UI in apps/fe. Dashboard create deploys APIs only; CLI create/deploy with frontend set hosts the Tiny SPA.
  • backend — Backend. Tiny Template planets and aliens APIs — no UI. For Lovable, Bolt, or v0. Pass --template backend.
  • empty — Empty. Blank database.ts and GET /api/health plus a hosted Welcome page. No sample schema. Default for robodev create. Also --empty / --template empty / --starter empty.
  • shadcn — Shadcn. Blank database.ts and GET /api/health plus a hosted Welcome page with shadcn and an orval client. No sample schema. Pass --template shadcn.

terminal

robodev create my-app
robodev create my-space-app --template space
robodev create my-chat --template auth-chat
robodev create my-shop --template marketplace
robodev create my-api --empty
robodev create my-api --template backend
robodev create my-app --template shadcn

Space

my-space-app

robodev/
  database.ts                 # defineDatabase (tiny: planets, aliens, media, planet_likes)
  api/planets.ts              # GET/POST /api/planets
  api/planets/paginate.ts     # GET /api/planets/paginate
  api/planets/[id].ts         # GET/PUT/DELETE /api/planets/:id
  api/planets/[id]/like.ts    # POST /api/planets/:id/like
  api/aliens/labels.ts        # GET /api/aliens/labels
  package.json                # optional API/job dependencies
apps/fe/                    # Tiny SPA source (local bun; CLI builds and uploads static output)
.env                        # VITE_API_URL + VITE_PUBLIC_API_URL (written by create/link)
robodev/.robodev            # projectId + API URLs + frontend build block

No committed root index.html. After a CLI deploy with .robodev frontend set, GET / serves the built Tiny SPA. Run bun in apps/fe to iterate locally. Auth stays reserved at /api/user/*. Dashboard create deploys Tiny APIs only; the Tiny FE tree is copied by robodev create.

Auth chat

my-chat

robodev/
  database.ts          # chat database + messages + invites
  api/health.ts         # GET /api/health (public)
  api/me.ts             # GET /api/me (auth: "required")
  api/messages.ts       # GET/POST /api/messages (auth: "required")
  api/invite.ts         # POST /api/invite (auth: "required") — persist then email
  hooks/auth.ts         # claim pending invites on user.created
  package.json          # optional API/job dependencies
apps/fe/              # Tiny SPA source (local bun; CLI builds and uploads static output)
.env                  # VITE_API_URL + VITE_PUBLIC_API_URL (written by create/link)
robodev/.robodev      # projectId + API URLs + frontend build block

No committed root index.html. After a CLI deploy with .robodev frontend set, GET / serves the built Tiny SPA. Run bun in apps/fe to iterate locally. GET/POST /api/messages and POST /api/invite require Robodev Auth. Invites persist a row then send one email; robodev/hooks/auth.ts claims matching pending invites on user.created (password or Google). Posting a chat message does not send email. Auth stays reserved at /api/user/*. Dashboard create deploys Tiny APIs only; the Tiny FE tree is copied by robodev create. Other starters do not ship a hook file — see Auth (/docs/auth#hooks).

Marketplace

my-shop

robodev/
  database.ts                 # marketplace database + listings, cart, orders, watches, reviews
  api/health.ts               # GET /api/health (public)
  api/me.ts                   # GET /api/me (auth: "required")
  api/categories.ts           # GET /api/categories
  api/listings.ts             # GET/POST /api/listings
  api/listings/paginate.ts    # GET /api/listings/paginate
  api/listings/[id].ts        # GET/PUT/DELETE /api/listings/:id
  api/cart.ts                 # GET/POST /api/cart
  api/checkout.ts             # POST /api/checkout
  package.json                # optional API/job dependencies
apps/fe/                    # Tiny SPA source (local bun; CLI builds and uploads static output)
.env                        # VITE_API_URL + VITE_PUBLIC_API_URL (written by create/link)
robodev/.robodev            # projectId + API URLs + frontend build block

No committed root index.html. After a CLI deploy with .robodev frontend set, GET / serves the built Tiny SPA. Run bun in apps/fe to iterate locally. Signed-in C2C Buy-It-Now goods marketplace. Auth stays reserved at /api/user/*. Dashboard create deploys Tiny APIs only; the Tiny FE tree is copied by robodev create.

Backend

my-api

robodev/
  database.ts                 # defineDatabase (tiny: planets, aliens, media, planet_likes)
  api/planets.ts              # GET/POST /api/planets
  api/planets/paginate.ts     # GET /api/planets/paginate
  api/planets/[id].ts         # GET/PUT/DELETE /api/planets/:id
  api/planets/[id]/like.ts    # POST /api/planets/:id/like
  api/aliens/labels.ts        # GET /api/aliens/labels
  package.json                # optional API/job dependencies
.env                        # VITE_API_URL (written by create/link)
robodev/.robodev            # projectId + API URLs

No src/main.tsx, index.html, apps/fe, or Vite. After create, paste VITE_API_URL into Lovable, Bolt, or v0. Edit and robodev deploy from a real terminal; do not run npm run dev or npm run build in those folders.

Empty

my-app

robodev/
  database.ts          # defineDatabase + placeholder items table
  api/health.ts         # GET /api/health
  package.json          # optional API/job dependencies
index.html            # hosted Welcome
src/main.tsx
src/App.tsx
src/app.css
vite.config.ts
.env                  # VITE_API_URL (written by create/link)
robodev/.robodev      # projectId + API URLs (no frontend block)

No sample schema, planets, or Tiny apps/fe. robodev create (default) or robodev create --empty creates this starter, including the hosted Welcome page. After create, GET / is Welcome and GET /api/health is { ok: true }. Edit index.html and src/, then robodev deploy. Lovable, Bolt, or v0 should use --template backend.

Shadcn

my-app

robodev/
  database.ts          # defineDatabase + placeholder items table
  api/health.ts         # GET /api/health
  package.json          # optional API/job dependencies
index.html            # hosted Welcome
src/main.tsx
src/App.tsx           # Welcome + shadcn Button + orval GET /api/health
src/app.css           # plain CSS (hosted esbuild does not run Tailwind)
src/components/ui/button.tsx
src/api/openapi.json
src/api/generated/    # committed orval fetch client
orval.config.ts
components.json
vite.config.ts
.env                  # VITE_API_URL (written by create/link)
robodev/.robodev      # projectId + API URLs (no frontend block)

Same Empty backend and hosted Welcome tree, plus shadcn and orval wired in src/. After CLI create --template shadcn, GET / is Welcome with a shadcn Button and live GET /api/health via the committed orval client. Empty remains the default for robodev create (or --empty). Do not write a frontend block. Local iterate is robodev dev plus pnpm run dev:fe; regenerate the client with pnpm run generate:api. Hosted compile does not run Tailwind — src/app.css is plain CSS. tailwind.config.ts and postcss.config.js are for local shadcn add.