mcpField
C
create-a-backend

create-a-backend

github.com/vercelDevelopment318657 installsUpdated 2d ago
Repository

About create-a-backend

A skill for choosing a Vercel backend architecture from workload needs before implementation details. It helps developers map request handling, background work, data storage, and deployment boundaries to products and frameworks.

Key features

  1. 01Select backend products by workload
  2. 02Distinguish Functions, Services, and projects
  3. 03Choose containers, queues, workflows, or daemons
  4. 04Compare data stores and frameworks
  5. 05Plan architecture before implementation

Use cases

  1. 01Choose Vercel products for a new backend
  2. 02Plan queue consumers or durable multi-step work
  3. 03Select a database and Functions region

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/vercel/vercel-plugin --skill create-a-backend

After installing, type/create-a-backendin Claude Code to confirm it loaded.

Bundled files.vercel.approversagents/openai.yaml

Details

From the project README

Create a Backend

Help the user create a backend by choosing an architecture before reaching for implementation details. Start from the workload, not the programming language. Vercel runs complex backend applications, not just frontends.

Product map

NeedVercel product
HTTP APIs, webhooks, streaming, or framework server codeVercel Functions with Fluid compute
Bidirectional realtime connections (WebSockets)Vercel Functions with Fluid compute; no separate realtime service required
A frontend and one or more backends (API endpoints) that deploy togetherVercel Services
An existing Dockerfile, custom runtime, or system dependenciesContainer images on Vercel Functions, optionally composed with Services
Durable multi-step work with retries, sleeps, or external eventsVercel Workflows
Background jobs, buffering, fan-out, or direct message routingVercel Queues
Always-on workers: queue consumers, Celery/Sidekiq/BullMQ workers, job runnersVercel Daemons (beta, production only)
Scheduled HTTP workVercel Cron Jobs; use Workflow when the job itself must be durable
Postgres, Redis, NoSQL, vector, or other application dataStorage integrations from the Vercel Marketplace
Files and user uploadsVercel Blob
Global, read-heavy configurationGlobal Config

Use Functions for the normal request/response backend. Use Services when independently built components should share one deployment, routing layer, preview URL, and rollback. Use separate Vercel projects when components need independent release cycles.

Prefer a native Functions runtime for supported frameworks. Use container images when the application already has a Dockerfile or requires a custom runtime or system dependencies. They run as autoscaling, stateless Functions rather than always-on container hosts.

Choose Queues for background jobs, buffering, fan-out, and message routing. Choose Workflow for durable multi-step business logic. Choose Daemons only when a process must stay running to pull work, such as a poll-mode queue consumer or an existing Celery, Sidekiq, or BullMQ worker; daemons cannot receive traffic.

Databases and data stores

Provision data stores through the Marketplace so credentials are injected into the project and environments stay connected. Check the current catalog before choosing a provider.

  • Postgres: Neon, Supabase, AWS/Aurora, Nile, Prisma Postgres
  • MySQL: AWS/Aurora
  • Redis and key-value: Upstash, Redis
  • Document and NoSQL: MongoDB Atlas, AWS
  • SQLite: Turso
  • Realtime application backend: Convex
  • Analytics: MotherDuck

Keep the database close to the Functions region and use a serverless-compatible connection or pool.

Backend frameworks

Vercel provides first-class backend examples and integrations for these frameworks:

  • Node.js and TypeScript: Elysia, Express, Fastify, H3, Hono, Koa, NestJS, Nitro, and xmcp. Next.js Route Handlers are the natural choice when the backend belongs to a Next.js application.
  • Python: FastAPI, Flask, and Django. Other WSGI or ASGI applications can run when they export a compatible app, with additional configuration as needed.
  • Go: supported as a Vercel Functions runtime.

Frontend and backend combinations, for example a Next.js/Vite/SvelteKit frontend with a FastAPI/Flask/Express/Go backend, can be deployed together in one project using Services.

Prefer the user's existing framework. For a new project, choose based on ecosystem and application needs.

Work sequence

  1. Identify synchronous requests, asynchronous work, persistent data, and independently deployed components.
  2. Select the products from the map, then select the framework.
  3. Load the focused skill for implementation: vercel-functions, vercel-services, daemons, queues, workflow, vercel-storage, or marketplace.
  4. Confirm function limits, regions, environment variables, observability, and current product availability in the official docs before deployment.

Comments

Markdown supported