voyant new, you get a working application shell wired to the framework. This page walks through what is inside and the commands you run day to day.
Configuration
A Voyant project is described by avoyant.config.ts manifest at its root. It declares which modules the app uses, and the framework reads it to assemble schemas, routes, and admin extensions. Inspect it at any time:
Environment and secrets
Local development uses two files:-
.dev.varsholds worker secrets for local Cloudflare Workers. Copy it from the example the starter ships: -
.envprovidesDATABASE_URLfor Drizzle tooling and local worker processes..env
Database workflow
The framework uses Drizzle ORM over PostgreSQL. The CLI proxies Drizzle Kit and adds Voyant-aware helpers:Preflight checks
Before deploying, run the doctor to catch configuration drift between your env types,wrangler.jsonc, database, and admin manifest:
Running locally
The operator starter serves on port3300:
Common scripts
The starters expose a consistent set of package scripts:| Command | What it does |
|---|---|
pnpm install | Install dependencies |
pnpm dev | Start the dev server |
pnpm db:migrate | Apply database migrations |
pnpm build | Build the app |
pnpm typecheck | Run TypeScript checks |
pnpm test | Run tests |
How code is organized
The framework draws a hard line between reusable logic and app-specific wiring:- Packages (the
@voyant-travel/*dependencies) hold business logic, schemas, services, routes, adapters, and contracts. You consume them as ordinary versioned dependencies. - Your app shell owns UI, auth wiring, deployment configuration, and the
voyant.config.tsmanifest that ties chosen modules together.
Next steps
Add a module
Generate a new domain module with the CLI.
Data model
Schemas, links, and migrations in depth.