feat(cli): add vercel integration guide command#15108
Conversation
Adds a new subcommand to display getting started guides, code snippets, and resource links for marketplace integrations directly in the terminal. Supports single-product (e.g., neon) and multi-product (e.g., aws/aws-dynamodb) integrations with interactive product selection for TTY environments. Options: - --raw: Output raw markdown without terminal formatting (useful for piping) - --framework / -f: Select a framework guide non-interactively (useful for CI/agents) New dependencies: marked@15.0.12, marked-terminal@7.3.0 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
🦋 Changeset detectedLatest commit: 8d81333 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
📦 CLI Tarball ReadyThe Vercel CLI tarball for this PR is now available! Quick TestYou can test this PR's CLI directly by running: npx https://vercel-jlppa3yim.vercel.sh/tarballs/vercel.tgz --helpUse in vercel.jsonTo use this CLI version in your project builds, add to your {
"build": {
"env": {
"VERCEL_CLI_VERSION": "vercel@https://vercel-jlppa3yim.vercel.sh/tarballs/vercel.tgz"
}
}
}Python Runtime WheelA Python runtime wheel was also built for this PR. |
🧪 Unit Test StrategyComparing: Strategy: Affected packages only ✅ Only testing packages that have been modified or depend on modified packages. Affected packages - 1 (3%)
Unaffected packages - 39 (98%)
Results
This comment is automatically generated based on the affected testing strategy |
- Add minor changeset for the new `integration guide` command - Update help snapshots to include guide subcommand in integration help - Add guide subcommand help snapshot test Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The marked-terminal package does not ship type declarations. Add a custom .d.ts file following the existing pattern in packages/cli/types/. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove marked/marked-terminal deps and --raw flag; always output raw markdown - Write guide content to stdout via client.stdout.write() so output is pipeable - Track integration slug as known after successful fetch (not always redacted) - Update changeset, tests, and help snapshots Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
No new dependencies are added, so the lockfile should not have changes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
21c2f50 to
9a9c8d9
Compare
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## vercel@50.22.0 ### Minor Changes - feat(cli): add `vercel integration guide` command ([#15108](#15108)) Adds a new `vercel integration guide` subcommand that displays getting started guides, code snippets, and resource links for marketplace integrations directly in the terminal. Supports single-product and multi-product integrations with interactive product and framework selection. Includes `--framework` flag for non-interactive framework selection (useful for CI/agents). Output is raw markdown written to stdout for easy piping to files or other tools. ### Patch Changes - fix(cli): fix missing planId in non-subscription plan web fallback ([#15152](#15152)) - [services]([#15093](#15093)) - consolidate `workspace` and `entrypoint` from `experimentalServices` `vercel.json` schema - make `framework` config in service optional -- infer framework from service workspace when not explicitly provided - Updated dependencies \[[`09b3540742ac86b768de9775929fef1ef36db412`](09b3540), [`fc56fb91b4dafabe0f68f86efeabbaf98b2642bc`](fc56fb9)]: - @vercel/build-utils@13.4.3 - @vercel/python@6.15.0 - @vercel/backends@0.0.36 - @vercel/elysia@0.1.39 - @vercel/express@0.1.48 - @vercel/fastify@0.1.42 - @vercel/go@3.4.1 - @vercel/h3@0.1.48 - @vercel/hono@0.2.42 - @vercel/hydrogen@1.3.5 - @vercel/koa@0.1.22 - @vercel/nestjs@0.2.43 - @vercel/next@4.15.31 - @vercel/node@5.6.6 - @vercel/redwood@2.4.9 - @vercel/remix-builder@5.5.10 - @vercel/ruby@2.3.1 - @vercel/rust@1.0.5 - @vercel/static-build@2.8.40 ## @vercel/python@6.15.0 ### Minor Changes - Optimize cold starts for lambdas >250MB ([#15080](#15080)) 1. Remove `uv pip install` and replace it with `uv sync --inexact --frozen` 2. Pack the lambda zip with dependencies up to 245MB then only install the remaining ones at runtime ### Patch Changes - Updated dependencies \[[`fc56fb91b4dafabe0f68f86efeabbaf98b2642bc`](fc56fb9)]: - @vercel/python-analysis@0.6.0 ## @vercel/python-analysis@0.6.0 ### Minor Changes - Optimize cold starts for lambdas >250MB ([#15080](#15080)) 1. Remove `uv pip install` and replace it with `uv sync --inexact --frozen` 2. Pack the lambda zip with dependencies up to 245MB then only install the remaining ones at runtime ## @vercel/backends@0.0.36 ### Patch Changes - Updated dependencies \[[`09b3540742ac86b768de9775929fef1ef36db412`](09b3540)]: - @vercel/build-utils@13.4.3 ## @vercel/build-utils@13.4.3 ### Patch Changes - [services]([#15093](#15093)) - consolidate `workspace` and `entrypoint` from `experimentalServices` `vercel.json` schema - make `framework` config in service optional -- infer framework from service workspace when not explicitly provided - Updated dependencies \[[`fc56fb91b4dafabe0f68f86efeabbaf98b2642bc`](fc56fb9)]: - @vercel/python-analysis@0.6.0 ## @vercel/cervel@0.0.23 ### Patch Changes - Updated dependencies \[]: - @vercel/backends@0.0.36 ## @vercel/client@17.2.45 ### Patch Changes - Updated dependencies \[[`09b3540742ac86b768de9775929fef1ef36db412`](09b3540)]: - @vercel/build-utils@13.4.3 ## @vercel/elysia@0.1.39 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.6.6 ## @vercel/express@0.1.48 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.6.6 - @vercel/cervel@0.0.23 ## @vercel/fastify@0.1.42 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.6.6 ## @vercel/fs-detectors@5.8.9 ### Patch Changes - [services]([#15093](#15093)) - consolidate `workspace` and `entrypoint` from `experimentalServices` `vercel.json` schema - make `framework` config in service optional -- infer framework from service workspace when not explicitly provided ## @vercel/gatsby-plugin-vercel-builder@2.0.138 ### Patch Changes - Updated dependencies \[[`09b3540742ac86b768de9775929fef1ef36db412`](09b3540)]: - @vercel/build-utils@13.4.3 ## @vercel/h3@0.1.48 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.6.6 ## @vercel/hono@0.2.42 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.6.6 ## @vercel/koa@0.1.22 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.6.6 ## @vercel/nestjs@0.2.43 ### Patch Changes - Updated dependencies \[]: - @vercel/node@5.6.6 ## @vercel/node@5.6.6 ### Patch Changes - Updated dependencies \[[`09b3540742ac86b768de9775929fef1ef36db412`](09b3540)]: - @vercel/build-utils@13.4.3 ## @vercel/static-build@2.8.40 ### Patch Changes - Updated dependencies \[]: - @vercel/gatsby-plugin-vercel-builder@2.0.138 ## @vercel/python-runtime@0.5.0 ### Minor Changes - Optimize cold starts for lambdas >250MB ([#15080](#15080)) 1. Remove `uv pip install` and replace it with `uv sync --inexact --frozen` 2. Pack the lambda zip with dependencies up to 245MB then only install the remaining ones at runtime <!-- VADE_RISK_START --> > [!NOTE] > Low Risk Change > > This PR is an automated Changesets release that only updates version numbers in package.json files and CHANGELOG.md files across multiple packages, with no logic changes. > > - Version bumps across ~25 packages (patch and minor versions) > - CHANGELOG.md updates documenting previous changes > - Deleted changeset markdown files consumed by release process > > <sup>Risk assessment for [commit f054c83](https://github.com/vercel/vercel/commit/f054c83041bfd8d833afeb59bac76918875f980e).</sup> <!-- VADE_RISK_END --> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Summary
Adds a new
vercel integration guidesubcommand that displays getting started guides, code snippets, and resource links for marketplace integrations directly in the terminal.MKT-2684: command to return snippets and getting started guides
[integration]/[product]) and also the framework (--framework) directly.Follow ups:
Usage
Features
<integration>/<product>slug in non-TTY mode--framework/-fflag: Selects a framework guide without interactive prompt — enables one-shot usage for CI pipelines and coding agents (e.g.,--framework nextjs,--framework remix,--framework astro,--framework nuxtjs,--framework sveltekit)Examples
1. aws: No product provided
2. sanity: No framework provided (when multiple exist)
3. sanity: framework provided
4. Incorrect framework option provided
Test plan
vercel integration guide neonshows formatted guide with interactive framework selectionvercel integration guide neon --rawoutputs raw markdown with no interactive framework selectionvercel integration guide neon --framework nextjsselects Next.js guidevercel integration guide aws/aws-dynamodbshows specific product guidevercel integration guide awsprompts for product selection in TTY🤖 Generated with Claude Code
Note
Low Risk Change
This PR adds a new read-only CLI subcommand for displaying integration guides with no changes to authentication, authorization, data handling, or security controls.
vercel integration guidesubcommand with framework selection optionsRisk assessment for commit 8d81333.