Skip to main content

Prerequisites

  • The Veryfront CLI installed (see Installation).
  • A terminal in which you can run veryfront init.

Scaffold

Run veryfront init to open the project wizard:
The wizard asks which template to use. Choose a starting point directly when you already know what you want to build, or when running the command from a non-interactive script:

Choose a runtime

By default, veryfront init scaffolds projects for Node.js. Pass --runtime <node|bun|deno> to select a different JavaScript runtime:
What this changes:
  • All runtimes get the same package.json and template files.
  • --runtime deno additionally writes a thin deno.json so deno task dev / deno task build / deno task preview work without extra setup. Deno reads npm dependencies directly from package.json via nodeModulesDir: "auto".
  • The install command and the printed next-steps match your runtime (npm install / bun install / deno install).
You can also set "runtime": "deno" in the JSON file passed to --config.

Use a package manager

Use these commands when you do not have the Veryfront CLI installed globally.

Run the dev server

Open http://localhost:3000. File changes reload the browser.

Inspect the scaffold

The minimal template creates:
The ai-agent template also creates:
Pages live in app/. The agent template also adds root-level agents/ and tools/. For the convention behind these directories, see Framework conventions. Generate additional app and AI primitives from the project root:
These names are examples. Use the generated files as starting points, then edit the agent instructions, tool implementation, and skill content for the workflow you are building. Every starter includes AGENTS.md. Coding agents should read that file first, then use veryfront schema --json or the Veryfront MCP tools for current CLI and project facts. Use Coding agents to connect Claude Code, Cursor, Codex, or another MCP-aware agent.

Verify it worked

veryfront dev prints Ready on http://localhost:3000. Open the URL and save a source file. The browser should hot-reload.