AvalonAvalon
GitHub

Installation

Create a new Avalon project and get up and running in minutes.

Requirements

  • Bun 1.0 or later
  • Node.js 18+ (if not using Bun)

Create a new project

The fastest way to get started is with the create avalon scaffolder:

bun create avalon my-app

This creates a new directory my-app/ with a minimal project structure.

Project setup

cd my-app
bun install
bun run dev

Your site is now running at http://localhost:3000.

Project structure

my-app/
├── src/
│   ├── islands/        # Interactive components (hydrated on client)
│   ├── layouts/        # Layout wrappers
│   └── pages/          # File-system routes
├── public/             # Static assets
├── routes/             # API routes
├── nitro.config.ts
└── vite.config.ts

Manual installation

If you prefer to set up manually, install the core package:

bun add @useavalon/avalon
bun add -d vite nitro

Then create a vite.config.ts:

import { defineConfig } from 'vite';
import { avalon } from '@useavalon/avalon/vite';

export default defineConfig(async () => {
  const plugins = await avalon({
    pagesDir: 'src/pages',
    integrations: ['preact'],
  });
  return { plugins };
});