Deployment Operations
- •Core commands:
npx convex dev,npx convex deploy,npx convex codegen,npx convex run(use--prodfor prod). - •Agent Mode: You SHOULD use
CONVEX_AGENT_MODE=anonymous npx convex dev --oncewhen iterating as an AI agent to safely generate codegen artifacts. - •Deploy target resolution:
CONVEX_DEPLOY_KEYoverrides, else uses production ofCONVEX_DEPLOYMENTproject. - •Build step:
npx convex deploy --cmd "npm run build"and--cmd-url-env-var-nameif needed. - •Deploy keys: production, preview, dev, admin (You MUST NOT commit/log).
- •Hosting flows:
- •Vercel/Netlify build command SHOULD use
npx convex deploy --cmd 'npm run build'. - •You MUST set
CONVEX_DEPLOY_KEYper environment (Preview vs Production). - •Preview seeding via
--preview-run 'functionName'. - •Custom hosting: deploy backend, host frontend elsewhere; custom domains require overriding
CONVEX_CLOUD_URLand redeploying; optionalCONVEX_SITE_URL.
- •Vercel/Netlify build command SHOULD use
Required Outputs
- •You MUST use exact CLI commands and flags from docs.
- •You MUST state target deployment resolution (deploy key vs CONVEX_DEPLOYMENT).
- •You MUST call out deploy-side effects: schema validation, index backfill, codegen, bundling.
- •You SHOULD always mention
.convex.sitevs.convex.cloudURL usage where relevant.
Deployment Model
- •Each project has one production deployment and one cloud dev deployment per team member.
- •Preview deployments are per-branch and are auto-cleaned after a time window.
- •Local deployments are dev-only and run as subprocesses of
npx convex dev.
CLI Workflow
Dev
- •
npx convex dev:- •Watches files, pushes changes to dev deployment.
- •Regenerates
convex/_generated/*. - •You SHOULD use
--tail-logsto control log output.
- •Local dev:
- •
npx convex dev --local --oncefor local backend. - •Note: No public URL; HTTP requests need a proxy (e.g., ngrok).
- •Node actions require Node 18 locally.
- •
Deploy
- •
npx convex deploy:- •Typechecks functions.
- •Regenerates codegen.
- •Bundles and pushes functions, schema, and indexes.
- •Deploy target resolution:
- •If
CONVEX_DEPLOY_KEYis set, deploys to that key's target. - •Else uses the production deployment of
CONVEX_DEPLOYMENT's project.
- •If
- •Optional build command:
- •
npx convex deploy --cmd "npm run build" - •Use
--cmd-url-env-var-nameto customize env var name.
- •
Deploy Keys
- •Production deploy key: targets project production deployment (typical CI).
- •Preview deploy key: creates preview deployment per branch.
- •Dev deploy key: scoped to a single dev deployment.
- •Admin key: full control; used for anonymous local deployments.
- •Security: You MUST NOT paste deploy keys into code or commit history.
Preview Deployments
- •Beta feature, lifecycle auto-cleans (5 days default).
- •Preview deployment name is tied to branch; redeploy replaces previous preview.
- •Data seeding requires running a function during deploy (
--preview-run).
Environment Variables
- •You MUST set per-deployment via dashboard or
npx convex env. - •Same key MAY require values in both dev and prod.
- •System vars:
- •
CONVEX_CLOUD_URLfor client RPCs. - •
CONVEX_SITE_URLfor HTTP actions.
- •
- •You MUST NOT branch exports on
process.envat runtime; functions set at deploy time.
Safe Rollout Rules
- •Schema MUST match existing data; deploy blocks on validation failures.
- •Safe schema changes:
- •Add tables.
- •Add optional fields, backfill, then make required.
- •Widen via
v.union, backfill, then narrow.
- •Functions MUST remain backward compatible while old clients are running.
- •Scheduled functions MUST accept previously scheduled args.
Index Backfill
- •New indexes backfill during deploy; CAN slow production push.
- •You SHOULD use staged indexes (including search/vector) for large tables.
- •Removing indexes deletes them on deploy; You MUST ensure no code paths depend on them.
URLs
- •HTTP actions:
https://<deployment>.convex.site. - •Client URLs:
https://<deployment>.convex.cloud(viaCONVEX_CLOUD_URL). - •You SHOULD warn about mixing
.convex.siteand.convex.cloud.
Response Checklist
- • State environment (dev/prod/preview/local).
- • Provide exact commands and required env vars.
- • List safety considerations (schema, functions, scheduled).
- • Mention logs location (CLI or dashboard) when troubleshooting.