Skip to main content

marketplace

Vercel Marketplace expert guidance — discovering, installing, and building integrations, auto-provisioned environment variables, unified billing, and the vercel integration CLI. Use when consuming third-party services, building custom integrations, or managing marketplace resources on Vercel.

ソース情報

リポジトリ
zhongjingyun/codex-plugins
ソースの最終更新活動
2026年6月10日 03:40
検出された SKILL.md の言語
英語
スター
24
フォーク
2

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
2 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
marketplace
description
Vercel Marketplace expert guidance — discovering, installing, and building integrations, auto-provisioned environment variables, unified billing, and the vercel integration CLI. Use when consuming third-party services, building custom integrations, or managing marketplace resources on Vercel.
metadata
{"priority":3,"docs":["https://vercel.com/docs/integrations"],"sitemap":"https://vercel.com/sitemap/docs.xml","pathPatterns":["integration.json"],"bashPatterns":["\\bvercel\\s+integration\\b","\\bvercel\\s+integration\\s+add\\b","\\bvercel\\s+integration\\s+discover\\b"]}
# Vercel Marketplace You are an expert in the Vercel Marketplace — the integration platform that connects third-party services to Vercel projects with unified billing, auto-provisioned environment variables, and one-click setup. ## Consuming Integrations ### Linked Project Preflight Integration provisioning is project-scoped. Verify the repository is linked before running `integration add`. ```bash # Check whether this directory is linked to a Vercel project test -f .vercel/project.json && echo "Linked" || echo "Not linked" # Link if needed vercel link ``` If the project is not linked, do not continue with provisioning commands until linking completes. ### Discovering Integrations ```bash # Search the Marketplace catalog from CLI vercel integration discover # Filter by category vercel integration discover --category databases vercel integration discover --category monitoring # List integrations already installed on this project vercel integration list ``` For browsing the full catalog interactively, use the [Vercel Marketplace](https://vercel.com/marketplace) dashboard. ### Getting Setup Guidance ```bash # Get agent-friendly setup guide for a specific integration vercel integration guide <name> # Include framework-specific steps when available vercel integration guide <name> --framework <fw> # Examples vercel integration guide neon vercel integration guide datadog --framework nextjs ``` Use `--framework <fw>` as the default discovery flow when framework-specific setup matters. The guide returns structured setup steps including required environment variables, SDK packages, and code snippets — ideal for agentic workflows. ### Installing an Integration ```bash # Install from CLI vercel integration add <integration-name> # Examples vercel integration add neon # Postgres database vercel integration add upstash # Redis / Kafka vercel integration add clerk # Authentication vercel integration add sentry # Error monitoring vercel integration add sanity # CMS vercel integration add datadog # Observability (auto-configures drain) ``` `vercel integration add` is the primary scripted/AI path. It installs to the currently linked project, auto-connects the integration, and auto-runs environment sync locally unless disabled. If the CLI hands off to the dashboard for provider-specific completion, treat that as fallback: ```bash vercel integration open <integration-name> ``` Complete the web step, then return to CLI verification (`vercel env ls` and local env sync check). ### Auto-Provisioned Environment Variables When you install a Marketplace integration from a linked project, Vercel automatically provisions the required environment variables for that project. **IMPORTANT: Provisioning delay after install.** After installing a database integration (especially Neon), the resource may take **1–3 minutes** to fully provision. During this window, connection attempts return HTTP 500 errors. Do NOT debug the connection string or code — just wait and retry. If local env sync was disabled or skipped, run `vercel env pull .env.local --yes` after a brief wait to get the finalized credentials. ```bash # View environment variables added by integrations vercel env ls # Example: after installing Neon, these are auto-provisioned: # POSTGRES_URL — connection string # POSTGRES_URL_NON_POOLING — direct connection # POSTGRES_USER — database user # POSTGRES_PASSWORD — database password # POSTGRES_DATABASE — database name # POSTGRES_HOST — database host ``` No manual `.env` file management is needed — the variables are injected into all environments (Development, Preview, Production) automatically. ### Using Provisioned Resources ```ts // app/api/users/route.ts — using Neon auto-provisioned env vars import { neon } from "@neondatabase/serverless"; // POSTGRES_URL is auto-injected by the Neon integration const sql = neon(process.env.POSTGRES_URL!); export async function GET() { const users = await sql`SELECT * FROM users LIMIT 10`; return Response.json(users); } ``` ```ts // app/api/cache/route.ts — using Upstash auto-provisioned env vars import { Redis } from "@upstash/redis"; // KV_REST_API_URL and KV_REST_API_TOKEN are auto-injected const redis = Redis.fromEnv(); export async function GET() { const cached = await redis.get("featured-products"); return Response.json(cached); } ``` ### Managing Integrations ```bash # List installed integrations vercel integration ls # Check usage and billing for an integration vercel integration balance <name> # Remove an integration vercel integration remove <integration-name> ``` ## Unified Billing Marketplace integrations use Vercel's unified billing system: - **Single invoice**: All integration charges appear on your Vercel bill - **Usage-based**: Pay for what you use, scaled per integration's pricing model - **Team-level billing**: Charges roll up to the Vercel team account - **No separate accounts**: No need to manage billing with each provider individually ```bash # Check current usage balance for an integration vercel integration balance datadog vercel integration balance neon ``` ## Building Integrations ### Integration Architecture Vercel integrations consist of: 1. **Integration manifest** — declares capabilities, required scopes, and UI surfaces 2. **Webhook handlers** — respond to Vercel lifecycle events 3. **UI components** — optional dashboard panels rendered within Vercel 4. **Resource provisioning** — create and manage resources for users ### Scaffold an Integration ```bash # Create a new integration project npx create-vercel-integration my-integration # Or start from the template npx create-next-app my-integration --example vercel-integration ``` ### Integration Manifest ```json // vercel-integration.json { "name": "my-integration", "slug": "my-integration", "description": "Provides X for Vercel projects", "logo": "public/logo.svg", "website": "https://my-service.com", "categories": ["databases"], "scopes": { "project": ["env-vars:read-write"], "team": ["integrations:read-write"] }, "installationType": "marketplace", "resourceTypes": [ { "name": "database", "displayName": "Database", "description": "A managed database instance" } ] } ``` ### Handling Lifecycle Webhooks ```ts // app/api/webhook/route.ts import { verifyVercelSignature } from "@vercel/integration-utils"; export async function POST(req: Request) { const body = await req.json(); // Verify the webhook is from Vercel const isValid = await verifyVercelSignature(req, body); if (!isValid) { return Response.json({ error: "Invalid signature" }, { status: 401 }); } switch (body.type) { case "integration.installed": // Provision resources for the new installation await provisionDatabase(body.payload); break; case "integration.uninstalled": // Clean up resources await deprovisionDatabase(body.payload); break; case "integration.configuration-updated": // Handle config changes await updateConfiguration(body.payload); break; } return Response.json({ received: true }); } ``` ### Provisioning Environment Variables ```ts // lib/provision.ts async function provisionEnvVars( installationId: string, projectId: string, credentials: { url: string; token: string }, ) { const response = await fetch( `https://api.vercel.com/v1/integrations/installations/${installationId}/env`, { method: "POST", headers: { Authorization: `Bearer ${process.env.VERCEL_INTEGRATION_TOKEN}`, "Content-Type": "application/json", }, body: JSON.stringify({ projectId, envVars: [ { key: "MY_SERVICE_URL", value: credentials.url, target: ["production", "preview", "development"], type: "encrypted", }, { key: "MY_SERVICE_TOKEN", value: credentials.token, target: ["production", "preview", "development"], type: "secret", }, ], }), }, ); return response.json(); } ``` ### Integration CLI Commands The `vercel integration` CLI supports these subcommands: ```bash # Discover integrations in the Marketplace catalog vercel integration discover vercel integration discover --category <category> # Get agent-friendly setup guide vercel integration guide <name> vercel integration guide <name> --framework <framework> # Add (install) an integration vercel integration add <name> # List installed integrations vercel integration list # alias: vercel integration ls # Check usage / billing balance vercel integration balance <name> # Open integration dashboard in browser (fallback when add redirects) vercel integration open <name> # Remove an integration vercel integration remove <name> ``` > **Building integrations?** Use `npx create-vercel-integration` to scaffold, then deploy your > integration app to Vercel normally with `vercel --prod`. Publish to the Marketplace via the > [Vercel Partner Dashboard](https://vercel.com/docs/integrations). ## Common Integration Categories | Category | Popular Integrations | Auto-Provisioned Env Vars | | --------------------- | --------------------------------------------- | --------------------------------------- | | Databases | Neon, Supabase, PlanetScale, MongoDB, Turso | `POSTGRES_URL`, `DATABASE_URL` | | Cache/KV | Upstash Redis | `KV_REST_API_URL`, `KV_REST_API_TOKEN` | | Auth | Clerk, Auth0, Descope | `CLERK_SECRET_KEY`, `AUTH0_SECRET` | | CMS | Sanity, Contentful, Storyblok, DatoCMS | `SANITY_PROJECT_ID`, `CONTENTFUL_TOKEN` | | Monitoring | Datadog, Sentry, Checkly, New Relic | `SENTRY_DSN`, `DD_API_KEY` | | Payments | Stripe | `STRIPE_SECRET_KEY` | | Feature Flags | LaunchDarkly, Statsig, Hypertune | `LAUNCHDARKLY_SDK_KEY` | | AI Agents & Services | CodeRabbit, Braintrust, Sourcery, Chatbase | varies by integration | | Video | Mux | `MUX_TOKEN_ID`, `MUX_TOKEN_SECRET` | | Messaging | Resend, Knock, Novu | `RESEND_API_KEY` | | Searching | Algolia, Meilisearch | `ALGOLIA_APP_ID`, `ALGOLIA_API_KEY` | | Commerce | Shopify, Swell, BigCommerce | `SHOPIFY_ACCESS_TOKEN` | ## Observability Integration Path Marketplace observability integrations (Datadog, Sentry, Axiom, Honeycomb, etc.) connect to Vercel's **Drains** system to receive telemetry. Understanding the data-type split is critical for correct setup. ### Data-Type Split | Data Type | Delivery Mechanism | Integration Setup | | ------------------ | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | | **Logs** | Native drain (auto-configured by Marketplace install) | `vercel integration add <vendor>` auto-creates drain | | **Traces** | Native drain (OpenTelemetry-compatible) | Same — auto-configured on install | | **Speed Insights** | Custom drain endpoint only | Requires manual drain creation via REST API or Dashboard (`https://vercel.com/dashboard/{team}/~/settings/log-drains`) | | **Web Analytics** | Custom drain endpoint only | Requires manual drain creation via REST API or Dashboard (`https://vercel.com/dashboard/{team}/~/settings/log-drains`) | > **Key distinction:** When you install an observability vendor via the Marketplace, it auto-configures drains for **logs and traces** only. Speed Insights and Web Analytics data require a separate, manually configured drain pointing to a custom endpoint. See `⤳ skill: observability` for drain setup details. ### Agentic Flow: Observability Vendor Setup Follow this sequence when setting up an observability integration: #### 1. Pick Vendor ```bash # Discover observability integrations vercel integration discover --category monitoring # Get setup guide for chosen vendor vercel integration guide datadog ``` #### 2. Install Integration ```bash # Install — auto-provisions env vars and creates log/trace drains vercel integration add datadog ``` #### 3. Verify Drain Created ```bash # Confirm drain was auto-configured curl -s -H "Authorization: Bearer $VERCEL_TOKEN" \ "https://api.vercel.com/v1/drains?teamId=$TEAM_ID" | jq '.[] | {id, url, type, sources}' ``` Check the response for a drain pointing to the vendor's ingestion endpoint. If no drain appears, the integration may need manual drain setup — see `⤳ skill: observability` for REST API drain creation. #### 4. Validate Endpoint ```bash # Send a test payload to the drain curl -X POST -H "Authorization: Bearer $VERCEL_TOKEN" \ "https://api.vercel.com/v1/drains/<drain-id>/test?teamId=$TEAM_ID" ``` Confirm the vendor dashboard shows the test event arriving. #### 5. Smoke Log Check ```bash # Trigger a deployment and check logs flow through vercel logs <deployment-url> --follow --since 5m # Check integration balance to confirm data is flowing vercel integration balance datadog ``` Verify that logs appear both in Vercel's runtime logs and in the vendor's dashboard.
GitHubで見る
この SKILL.md は非常に大きいため、SkillsMP では最初のセクションだけを表示しています。 GitHubで見る