Getting started

Scaffold a fresh app in one command:

deno run -Ar jsr:@chevalier/init my-app
cd my-app
deno install
deno task dev

Open the printed URL. You get a working app — a page, an island, a static page, a form, and an /api handler. Edit the island and it hot-updates in place, keeping its state; edit a route or _layout.tsx and the page does a full reload.

The scaffolded app comes with these tasks:

deno task dev       # vite dev server
deno task build     # client + SSR build
deno task preview   # preview the build

Add to an existing project

Add the core package and import defineApp:

deno add jsr:@chevalier/core

Look around

Run the bundled example:

cd examples/basic && deno install && deno task dev

Project layout

Routes live in app/routes/, islands in app/islands/. Static files (favicon, robots.txt, images) go in public/ and are served from the site root.

Styling is Tailwind v4 — write utility classes in any component. Add your own CSS or @theme in app/styles.css.