Skip to content

vercel/v0-sdk

Repository files navigation

v0 SDK Monorepo

⚠️ Developer Preview: This SDK is currently in beta and is subject to change. Use in production at your own risk.

A monorepo containing SDKs for interacting with the v0 Platform API to create and manage AI-powered chat conversations, projects, integrations, and more.

Packages

Examples

  • v0-clone (Demo) - Full-featured v0 clone with authentication, database, and AI Elements
  • simple-v0 (Demo) - The simplest way to use v0. Just prompt and see your app generated instantly
  • classic-v0 - Classic v0 interface clone with clean, minimalist design
  • v0-sdk-react-example - Next.js example demonstrating @v0-sdk/react usage with multiple UI themes
  • ai-tools-example - Demonstrates @v0-sdk/ai-tools integration with AI SDK for advanced agent patterns

Quick Start

Option 1: Create a New App (Recommended)

The fastest way to get started is with create-v0-sdk-app:

pnpm create v0-sdk-app@latest my-v0-app
# or
npx create-v0-sdk-app@latest my-v0-app
cd my-v0-app

This will create a new project with everything set up and ready to go.

Option 2: Manual Installation

pnpm add v0-sdk
# or
npm install v0-sdk
# or
yarn add v0-sdk

Usage

Get your API key from v0.dev/chat/settings/keys.

Set V0_API_KEY environment variable.

import { v0 } from 'v0-sdk'

// Create a new chat
const chat = await v0.chats.create({
  message: 'Create a responsive navbar with Tailwind CSS',
  system: 'You are an expert React developer',
})
console.log(`Chat created: ${chat.webUrl}`)

Development

This monorepo uses Turborepo for build orchestration and pnpm for package management.

Prerequisites

  • Node.js 22+
  • pnpm 9+

Setup

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Run tests for all packages
pnpm test

# Type check all packages
pnpm type-check

# Format code
pnpm format

Working with packages

# Run commands in specific package
pnpm --filter v0-sdk build
pnpm --filter v0-sdk test
pnpm --filter v0-sdk generate

# Run commands in all packages
pnpm build
pnpm test

Adding new packages

  1. Create a new directory in packages/
  2. Add a package.json with the appropriate @v0-sdk/ scope
  3. Update the root tsconfig.json paths if needed
  4. Add any necessary scripts to turbo.json

Scripts

  • pnpm build - Build all packages
  • pnpm test - Run tests for all packages (CI mode)
  • pnpm test:watch - Run tests in watch mode
  • pnpm type-check - Type check all packages
  • pnpm lint - Lint all packages
  • pnpm format - Format code across all packages
  • pnpm sdk:generate - Generate SDK from OpenAPI spec

Code Quality

The project includes automated code quality checks:

  • Pre-commit hooks: Automatically format code before commits using Husky and lint-staged
  • CI formatting check: Ensures all code is properly formatted in pull requests

Release Management

This project uses Changesets for automated version management and publishing. See CONTRIBUTING.md for detailed release guidelines.

  • pnpm changeset - Create a new changeset (describes changes for release)
  • Releases are automated via GitHub Actions when changesets are merged to main

CI/CD

The project includes GitHub Actions workflows:

  • CI Pipeline (ci.yml): Runs on every push and PR to main

    • Builds all packages
    • Runs linting, formatting, and type checking
    • Runs tests on Node.js 20 and 22
  • Release Pipeline (release.yml): Automated releases

    • Creates "Version Packages" PRs when changesets are added
    • Publishes packages to npm when version PRs are merged
  • Changeset Verification (verify-changesets.yml):

    • Ensures package changes include appropriate changesets
    • Validates changeset format
  • SDK Generation (generate-sdk.yml):

    • Runs daily to check for OpenAPI spec updates
    • Can be triggered manually
    • Creates PRs when the SDK needs updates

Resources

License

Apache 2.0

About

SDK for the v0 Platform API

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 5