ViteHub is still experimental. Expect bugs and breaking changes.

Vite Integrations and Provider Output

Understand what package-owned Vite plugins generate and why host wiring stays behind ViteHub language.

A Vite Integration connects package-owned declarations to Vite build and development behavior. Provider Output is generated deployment or runtime output required by a host, such as bindings, generated routes, functions, crons, or runtime files.

ViteHub's public framework integration surface is Vite-first. Some packages expose narrow handoffs for host or framework lifecycle gaps, but normal app authoring should start from the Vite Integration and stable package imports.

Configure integrations

Register the package integrations you installed.

vite.config.ts
import { hubAgent } from '@vite-hub/agent/vite'
import { hubKv } from '@vite-hub/kv/vite'
import { defineConfig } from 'vite'

export default defineConfig({
  plugins: [
    hubKv(),
    hubAgent(),
  ],
})

Integration Options belong in vite.config.ts when they affect discovery, generated files, provider bindings, or deployment output. Definition Options belong in the Definition file when they travel with one Definition.

Provider Output is not app API

Provider Output may contain files, bindings, generated routes, or deployment config. It is proof of what ViteHub will run on a host, but application code should not import generated files unless the package documents a stable #vitehub/... path.

For example, Env documents stable generated imports such as #vitehub/env/server. Framework virtual modules and raw generated paths stay integration details unless an ADR or package page makes them public.

When to use what

You needUse
Build and dev wiringThe package Vite Integration.
One named runtime declarationA Definition file.
Host-specific bindings or functionsProvider Output generated by the integration.
Server code accessThe package Runtime Helper or documented stable generated import.
Agent model-facing accessAn Agent Capability.

Inspect it

Inspect vite.config.ts, then inspect generated .vitehub output only as evidence. Keep app code on stable imports.

Next steps

Copyright © 2026