Skip to main content
Every web app starts from the vibely-web template. The template provides a working Vite + React + Tailwind project so the dev server is up before the agent writes its first file. The agent extends the template — it doesn’t generate one from scratch.
Looking for reusing your own project as a starting point for new projects? That is a different feature — see Workspace templates.
vibely-web template

What’s in the box

Default dependencies

The agent has add_dependency available, so anything not in the box can be installed on demand. Common adds: @supabase/supabase-js, stripe, resend, @radix-ui/react-* extras.

Template caching

Templates are pulled from GitHub via git clone --depth 1 and cached on disk. The cache key is the template name + commit hash. To force a refresh in development:
In production, templates are pre-baked into the sandbox image via bun run bake:e2b (see scripts/bake-e2b-templates.ts). That’s why the first request to a fresh sandbox is fast — the template is already on disk in the image.

Why the template ships pre-installed

Three reasons, all load-bearing:
  1. Preview-before-prompt. The orchestrator can start the dev server before the agent runs. The first prompt’s preview URL appears in seconds, not minutes.
  2. HMR without npm install. With deps already on disk, the first write to a .tsx file triggers a hot reload immediately.
  3. Smaller agent context. The agent doesn’t have to write or know about boilerplate (entry point, providers, build config). It writes only the parts that vary.

Customising the template

The shipped template is a starting point, not a contract. Anything in it can be replaced:
  • Want a different router? Tell the agent “rewrite to use @tanstack/router.”
  • Want SSR? Tell the agent “convert to Next.js 16 App Router.” (Note: this exits the SPA path; you’ll lose some convenience around the dev server.)
  • Want a different UI kit? Tell the agent “remove shadcn and use Mantine instead.”
The template is what the agent starts from. After turn 1, it’s just your codebase.

Self-hosted template

To use your own template instead of vibely-web, set:
The repo must include a package.json with dev, build, and start scripts, and the dev server must bind to a port that PreviewManager.detectPort() can find (defaults to 8080; falls back to a port scan).