Installation

Install the ViteHub package you need and register the matching Vite, Nitro, or Nuxt entrypoint.

Each ViteHub feature is published as its own package. Install the current preview build from pkg.pr.new, keep provider SDKs on the normal registry, and choose the integration surface that matches your app:

  • @vitehub/<feature>/vite for Vite config
  • @vitehub/<feature>/nitro for Nitro modules
  • @vitehub/<feature>/nuxt for Nuxt modules that forward into Nitro

Install the package for the feature you need

Terminal
pnpm add https://pkg.pr.new/nuxt-hub/agent/@vitehub/blob@main
pnpm add https://pkg.pr.new/nuxt-hub/agent/@vitehub/cache@main
pnpm add https://pkg.pr.new/nuxt-hub/agent/@vitehub/db@main
pnpm add https://pkg.pr.new/nuxt-hub/agent/@vitehub/sandbox@main
pnpm add https://pkg.pr.new/nuxt-hub/agent/@vitehub/workflow@main
pnpm add https://pkg.pr.new/nuxt-hub/agent/@vitehub/cron@main
pnpm add https://pkg.pr.new/nuxt-hub/agent/@vitehub/kv@main
pnpm add https://pkg.pr.new/nuxt-hub/agent/@vitehub/queue@main

Install the matching provider SDK when the feature needs one

Terminal
# database
pnpm add drizzle-orm drizzle-kit @libsql/client

# blob
pnpm add @vercel/blob
pnpm add aws4fetch

# sandbox
pnpm add @vercel/sandbox
pnpm add @cloudflare/sandbox

# workflow
pnpm add workflow
pnpm add openworkflow

# kv
pnpm add @upstash/redis
pnpm add ioredis
pnpm add aws4fetch

# queue
pnpm add @platformatic/job-queue
pnpm add @vercel/queue
pnpm add @netlify/async-workloads
pnpm add @upstash/qstash

Register the matching integration entrypoint

nuxt.config.ts
export default defineNuxtConfig({
  modules: [
    '@vitehub/cache/nuxt',
    '@vitehub/blob/nuxt',
    '@vitehub/db/nuxt',
    '@vitehub/sandbox/nuxt',
    '@vitehub/workflow/nuxt',
    '@vitehub/cron/nuxt',
    '@vitehub/kv/nuxt',
    '@vitehub/queue/nuxt',
  ],
})

Add a top-level config object only when you need customization

nitro.config.ts
import { defineNitroConfig } from 'nitro/config'

export default defineNitroConfig({
  cache: {
    driver: 'cloudflare-kv-binding',
    namespaceId: '<cache-namespace-id>',
  },
})

Use the documented runtime surface

Most ViteHub features expose their public API from the package root:

  • @vitehub/<feature> for primitives, types, and runtime helpers
  • @vitehub/<feature>/vite for Vite integration
  • @vitehub/<feature>/nitro for Nitro module registration
  • @vitehub/<feature>/nuxt for Nuxt module registration
server/api/queue.post.ts
import { runQueue } from '@vitehub/queue'

@vitehub/db exports raw SQL and Drizzle from the package root:

server/api/posts.get.ts
import { db, getDatabase } from '@vitehub/db'
Install only the features and provider SDKs you plan to use.Replace @main with a commit SHA when you need to pin one preview build.Your app does not need a separate nitro install when it already uses Nitro or Nuxt.