⚠️ 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.
v0-sdk
- TypeScript SDK for the v0 Platform API@v0-sdk/react
- React components for rendering v0 Platform API content
classic-v0
- Classic v0 interface clone with clean, minimalist designv0-clone
- Example v0 clone using AI Elementsv0-sdk-react-example
- Next.js example demonstrating @v0-sdk/react usage
npm install v0-sdk
# or
yarn add v0-sdk
# or
pnpm add v0-sdk
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}`)
This monorepo uses Turborepo for build orchestration and pnpm for package management.
- Node.js 22+
- pnpm 9+
# 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
# 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
- Create a new directory in
packages/
- Add a
package.json
with the appropriate@v0-sdk/
scope - Update the root
tsconfig.json
paths if needed - Add any necessary scripts to
turbo.json
pnpm build
- Build all packagespnpm test
- Run tests for all packages (CI mode)pnpm test:watch
- Run tests in watch modepnpm type-check
- Type check all packagespnpm lint
- Lint all packagespnpm format
- Format code across all packagespnpm sdk:generate
- Generate SDK from OpenAPI spec
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
This project uses Changesets for version management and publishing:
pnpm changeset
- Create a new changeset (describes changes for release)pnpm version-packages
- Update package versions based on changesetspnpm release
- Build and publish packages to npm
The project includes GitHub Actions workflows:
-
CI Pipeline (
ci.yml
): Runs on every push and PR to main- Builds all packages
- Runs type checking
- Runs tests
- Checks code formatting
-
SDK Generation (
generate-sdk.yml
):- Runs daily to check for OpenAPI spec updates
- Can be triggered manually
- Creates PRs when the SDK needs updates
Apache 2.0