ViteHub

Env quickstart

Declare one Vite build value, one Nitro runtime secret, and verify both outputs.

This guide shows the two Env paths:

  • Public Env values exposed through #vitehub/env/public
  • Server Env values exposed through #vitehub/env/server
Prompt
Set up @vitehub/env in this app.

- Install @vitehub/env
- Register envVite() or envNitro()
- Declare a public build value
- Declare a server-only Runtime Env secret
- Read generated Public Env and Server Env from app code

Docs: /docs/vite/env/quickstart or /docs/nitro/env/quickstart

Install Env

pnpm add @vitehub/env

Register the integration

Register envVite() and declare a public build value:

vite.config.ts
import { env, envVite } from '@vitehub/env/vite'
import { defineConfig } from 'vite'

export default defineConfig({
  plugins: [envVite({ prefix: 'VITEHUB_' })],
  env: {
    public: {
      appName: env({
        default: 'ViteHub Env',
        mode: 'build',
      }),
    },
  },
})

Read Env values

Read Public Env from the ViteHub public env import path:

src/main.ts
import { usePublicEnv } from '#vitehub/env/public'

const publicEnv = usePublicEnv()

document.querySelector('#app')!.textContent = publicEnv.appName

Verify the result

Set a prefixed value and start Vite:

VITEHUB_APP_NAME="Docs App" pnpm dev

The rendered page should show Docs App.

Next steps

  • Use Usage for defaults, optional values, explicit sources, schemas, and diagnostics.
  • Use Runtime API for exact declaration shapes.
  • Use Troubleshooting if generated types or runtime values are missing.
Copyright © 2026