Tenant App Types and Promotion Flow

Choose a Gencow tenant app shape and move it from local development to Dev and Production

Tenant app types

Gencow tenant apps use one of three hosting shapes. Choose the shape by what the app serves, not by the framework used to build its frontend.

App type What it contains Typical command
Static frontend A built frontend only; no Gencow backend runtime gencow static dist/
Backend-only Gencow backend APIs, auth, database, realtime, AI, or jobs without a hosted frontend gencow deploy
Fullstack A hosted frontend connected to a Gencow backend gencow deploy --static dist/

Static and backend-only are independent deployment components. A fullstack app publishes both components, with the backend deployed before the frontend. If the frontend calls Gencow procedures, it is a fullstack app even when the frontend itself is a small static bundle.

Keep the source code on your computer, but use the cloud Dev app as the normal development and review target:

  1. Create and edit the app locally.
  2. Run the app locally when you need fast UI iteration, offline work, or disposable data.
  3. Deploy to Dev with gencow dev or a non---prod deploy command and verify the hosted runtime there.
  4. Develop and review in Dev until the app, backend, database migrations, authentication, realtime behavior, jobs, and platform-managed features are sufficiently validated.
  5. Promote the reviewed version to Production with an explicit --prod command.

For AI and other platform-managed features, Dev verification is required for realistic behavior. Local-only development is not recommended: local mode can use different credentials, runtime services, scheduling durability, network behavior, and provider transport. Local checks are useful, but they do not replace a Dev deployment and review.

# Local source and optional local runtime
bunx gencow@latest dev --local

# Recommended cloud development and review target
bunx gencow@latest login
bunx gencow@latest dev

# Fullstack Dev one-shot deployment
bun run build
bunx gencow@latest deploy --static dist/

# Production, only after Dev review and explicit approval
bunx gencow@latest deploy --prod --static dist/

gencow dev, gencow deploy, and gencow static without --prod target the Dev app. Production is a separate app and database, and consumes a separate app slot. A generic request to “deploy” never implies Production.

Production and custom domains

Production deployment and custom-domain connection are available from the Personal plan and above (Personal and Pro; Enterprise agreements may have custom limits). A custom domain can be connected only to the Production app. Deploy to Production first, then connect the domain from the Dashboard or with gencow domain set <hostname> --prod.

Every app still receives a managed *.gencow.app address in Dev. See Deployment, Local Development, and Hosting & Custom Domains for the command and verification details.