{"id":27049,"plugin_id":"plugin_connector_690a90ec05c881918afb6a55dc9bbaa1","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-06T18:03:10.586Z","digest":"1e46d97e4c9da35fcf3565d71f9e28745799ceb1b6a01afd1f67333ee52e12f8","against":null,"payload":{"description":"Backend architecture guidance. Use when planning, building, or migrating an API or backend; choosing between Functions, Services, containers, Workflow, Queues, and Marketplace databases; or selecting a supported backend framework or runtime.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":190}],"name":"create-a-backend","skill_md_contents":"---\nname: create-a-backend\ndescription: Backend architecture guidance. Use when planning, building, or migrating an API or backend; choosing between Functions, Services, containers, Workflow, Queues, and Marketplace databases; or selecting a supported backend framework or runtime.\nsummary: Match backend workloads to the right architecture\nmetadata:\n  priority: 7\n  docs:\n    - \"https://vercel.com/docs/frameworks/backend\"\n    - \"https://vercel.com/docs/functions\"\n    - \"https://vercel.com/docs/services\"\n    - \"https://vercel.com/docs/queues\"\n    - \"https://vercel.com/docs/workflows\"\n    - \"https://vercel.com/docs/storage\"\n  sitemap: \"https://vercel.com/sitemap.xml\"\n  pathPatterns:\n    - 'Dockerfile.vercel'\n    - 'Containerfile.vercel'\n  promptSignals:\n    phrases:\n      - \"backend on vercel\"\n      - \"vercel backend\"\n      - \"build a backend\"\n      - \"create a backend\"\n      - \"deploy my backend\"\n      - \"backend architecture\"\n    allOf:\n      - [backend, vercel]\n      - [backend, docker]\n      - [backend, node]\n      - [backend, python]\n      - [backend, queue]\n    anyOf:\n      - \"api\"\n      - \"database\"\n      - \"service\"\n      - \"workflow\"\n    noneOf: []\n    minScore: 6\nretrieval:\n  aliases:\n    - Vercel backend\n    - backend architecture\n    - backend framework\n  intents:\n    - build a backend\n    - choose backend products\n    - deploy an existing API or server\n    - select a Node.js or Python backend framework\n  entities:\n    - Vercel Functions\n    - Vercel Services\n    - Vercel Queues\n    - Vercel Workflow\n    - Vercel Marketplace\n    - container images\n---\n\n# Create a Backend\n\nHelp 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.\n\n## Product map\n\n| Need | Vercel product |\n| --- | --- |\n| HTTP APIs, webhooks, streaming, or framework server code | **[Vercel Functions](https://vercel.com/docs/functions) with [Fluid compute](https://vercel.com/docs/fluid-compute)** |\n| Bidirectional realtime connections (WebSockets) | **[Vercel Functions with Fluid compute](https://vercel.com/docs/functions/websockets)**; no separate realtime service required |\n| A frontend and one or more backends (API endpoints) that deploy together | **[Vercel Services](https://vercel.com/docs/services)** |\n| An existing Dockerfile, custom runtime, or system dependencies | **[Container images](https://vercel.com/docs/functions/container-images)** on Vercel Functions, optionally composed with Services |\n| Durable multi-step work with retries, sleeps, or external events | **[Vercel Workflows](https://vercel.com/docs/workflows)** |\n| Background jobs, buffering, fan-out, or direct message routing | **[Vercel Queues](https://vercel.com/docs/queues)** |\n| Scheduled HTTP work | **[Vercel Cron Jobs](https://vercel.com/docs/cron-jobs)**; use Workflow when the job itself must be durable |\n| Postgres, Redis, NoSQL, vector, or other application data | **[Storage integrations from the Vercel Marketplace](https://vercel.com/marketplace/category/storage)** |\n| Files and user uploads | **[Vercel Blob](https://vercel.com/docs/vercel-blob)** |\n| Global, read-heavy configuration | **[Global Config](https://vercel.com/docs/global-config)** |\n\nUse 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.\n\nPrefer 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.\n\nChoose Queues for background jobs, buffering, fan-out, and message routing. Choose Workflow for durable multi-step business logic.\n\n## Databases and data stores\n\nProvision data stores through the Marketplace so credentials are injected into the project and environments stay connected. Check the current catalog before choosing a provider.\n\n- **Postgres:** Neon, Supabase, AWS/Aurora, Nile, Prisma\n- **MySQL:** AWS/Aurora\n- **Redis and key-value:** Upstash, Redis\n- **Document and NoSQL:** MongoDB Atlas, AWS\n- **SQLite:** Turso\n- **Realtime application backend:** Convex\n- **Analytics:** MotherDuck\n\nKeep the database close to the Functions region and use a serverless-compatible connection or pool.\n\n## Backend frameworks\n\nVercel provides first-class [backend examples and integrations](https://vercel.com/docs/frameworks/backend) for these frameworks:\n\n- **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.\n- **Python:** FastAPI, Flask, and Django. Other WSGI or ASGI applications can run when they export a compatible `app`, with additional configuration as needed.\n- **Go:** supported as a Vercel Functions runtime.\n\nFrontend 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.\n\nPrefer the user's existing framework. For a new project, choose based on ecosystem and application needs.\n\n## Work sequence\n\n1. Identify synchronous requests, asynchronous work, persistent data, and independently deployed components.\n2. Select the products from the map, then select the framework.\n3. Load the focused skill for implementation: `vercel-functions`, `vercel-services`, `workflow`, `vercel-storage`, or `marketplace`.\n4. Confirm function limits, regions, environment variables, observability, and current product availability in the official docs before deployment.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}