Skip to content

Getting Started

Pro on Void

Install the Void starter, a Vue and Vite app on Cloudflare Workers.

Use this guide to run the Vue and Vite starter built with Void. It includes the same dashboard, agents, automations, integrations, approvals, and customers model as the Nuxt starter. Void provisions Cloudflare resources when you deploy.

Requirements

  • Node.js 24.21.0+ and pnpm 10.33+.
  • A Pro license that includes the Void starter: Team and above, or Solo with Void chosen.
  • Access to the private void-agentic-starter repository on GitHub, granted with your purchase.

1. Connect the Private Registry

Pro packages come from a private npm registry at registry.nuxtagentic.com, which serves the @nuxtagentic-pro/* packages and releases your license includes. Everything else, including Void and Vue, still installs from npm.

Run the public setup CLI once per machine, then paste your license key at the masked prompt:

pnpm dlx @nuxtagentic/cli@latest login

With npm, run npx @nuxtagentic/cli@latest login. Use @next for release candidates. Login validates the key and saves it in your user ~/.npmrc, not in the project. After installing, run pnpm exec agentic login to replace a renewed key. See Pro on Nuxt for registry details, and Licensing for update windows and CI access.

2. Create, Configure, and Run

Clone the starter, create the secrets and the local database, and start the dev server:

git clone <your-starter-repository-url> my-app
cd my-app
pnpm install
pnpm exec agentic keygen   # creates .env with AGENTIC_ENCRYPTION_KEY and BETTER_AUTH_SECRET
pnpm db:migrate            # applies db/migrations to the local D1 database
pnpm dev                   # http://127.0.0.1:5173/dashboard

Add a provider key (OPENAI_API_KEY, ANTHROPIC_API_KEY, or GOOGLE_AI_API_KEY) to .env, or use the built-in mock provider to try agents without one. env.ts passes the supported variables to Void from @nuxtagentic-pro/void/config; the environment variable reference lists them.

How the App Is Wired

src/agentic.ts is the single definition of your backend: its features, models, tools, and integrations.

src/agentic.ts
import { defineVoidAgentic } from '@nuxtagentic-pro/void/server'
import resend from './integrations/resend'
import customers from './models/customers'

export default defineVoidAgentic({ models: [customers], integrations: [resend] })

The Vite plugin reads that module. It requires Node.js 24.21.0 or later:

vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { voidPlugin } from 'void'
import { voidAgentic } from '@nuxtagentic-pro/void/vite'

export default defineConfig({
  plugins: [...(await voidAgentic({ server: 'src/agentic.ts' })), vue(), voidPlugin()],
})

withAgentic adds what Agentic needs to your Void configuration: email sign-in unless you set auth, file storage, a history fallback for dashboard routes, and anti-framing headers:

void.config.ts
import { defineConfig } from 'void/config'
import { withAgentic } from '@nuxtagentic-pro/void/config'

export default defineConfig(
  withAgentic({
    cloudflare: { name: 'void-agentic-starter', compatibility_date: '2026-10-16' },
    auth: { providers: ['email'] },
  }),
)

The browser entry mounts the dashboard:

src/main.ts
import { createApp } from 'vue'
import ui from '@nuxt/ui/vue-plugin'
import { AgenticApp, createAgenticRouter } from '@nuxtagentic-pro/vue'
import '@nuxtagentic-pro/vue/styles.css'

createApp(AgenticApp).use(createAgenticRouter()).use(ui).mount('#app')

Generated Files

From src/agentic.ts, the plugin writes the entry points Void needs, each marked Generated by @nuxtagentic-pro/void:

  • routes/api/agentic/[...path].ts: the API route.
  • durable-objects/agentic-*.ts: the four Durable Object classes.
  • crons/agentic-maintenance.ts: the maintenance cron, every five minutes.
  • auth.ts and db/schema.ts, when they do not exist yet.

Edit src/agentic.ts rather than generated files. The plugin preserves files you author, including auth.ts with withAgenticAuth and db/schema.ts re-exporting @nuxtagentic-pro/server/schema. The starter's schema also exports the customers table.

Where Things Live

PathWhat
src/agentic.tsFeatures and models for the API, crons, and Durable Objects
src/models/*.tsYour Agentic Models (Drizzle table + defineAgenticModel)
src/integrations/*.tsYour own integrations (defineIntegration)
db/schema.tsSchema for migrations: package tables plus your model tables
src/main.tsThe Vue app shell

Void has no file-based discovery for agents and tools. Register tools with tools: [...] in defineVoidAgentic, and create agents and automations in the dashboard.

Next Steps