Skip to main content
The fastest way to start is with @aero-js/create, which scaffolds a project, installs dependencies, and prints next steps.
1

Scaffold a project

Run the create command with your project name:
pnpm create @aero-js my-app
This copies the minimal template into my-app/, rewrites package.json with your project name, and installs dependencies.
To scaffold with Nitro pre-configured for API routes and server deployment, add --template fullstack:
pnpm create @aero-js my-app --template fullstack
The fullstack template adds @aero-js/config, nitro, a root nitro.config.ts, and a preview:api command.
2

Start the dev server

cd my-app
pnpm dev
Open http://localhost:5173 to see your site. Vite’s HMR keeps HTML, CSS, content, and client scripts in sync as you edit.
3

Create your first page

Every .html file in client/pages/ becomes a route. Create client/pages/about.html:
about.html
<h1>About</h1>
<p>This is a new page.</p>
Visit http://localhost:5173/about — no routing config needed.To add a layout, import it in a <script is:build> block and wrap your content:
pages/about.html
<script is:build>
  import base from '@layouts/base'
</script>

<base-layout>
  <h1>About</h1>
  <p>This is a new page.</p>
</base-layout>
The layout’s <slot /> is replaced with your page content at build time.
4

Build for production

pnpm build
This produces a static dist/ folder. Deploy it to any static host.To preview the build locally:
pnpm preview

Commands reference

CommandDescription
pnpm devStart the dev server with HMR
pnpm buildBuild to dist/ (and .output/ with Nitro)
pnpm previewPreview the static build
pnpm preview:apiPreview static + API from one origin (Nitro)

Next steps

Project structure

Understand how your scaffolded project is organized.

Configuration

Configure the Aero Vite plugin and project options.