Skip to content
AzuAzu

Starter kits

AdonisJS has four official starter kits. Azu works on three of them in the preview. Here’s what each one needs.

Kit Status What you do
React (Inertia) Supported Installation as written.
Vue (Inertia) Supported, with two limits Installation as written.
Hypermedia (Edge) Supported, with two manual steps Add Inertia for /admin first.
API Not supported in the preview No browser sign-in for the panel.

These results come from fresh installs of 0.1.0-preview.0 into new apps from each kit, on 2 November 2026.

The documented steps reach a working /admin with a generated resource and an Overview screen. You change nothing in the app’s own code beyond the accessAdmin rule and, if you want one, home. Azu’s commands take about a minute on top of creating the app.

The same steps work. Azu’s admin is React, beside your Vue pages. One node ace build builds both entries, and your pages load only their own.

Two limits on this kit, tracked in #66:

  • The admin has no hot reload in dev. An edit reloads the page.
  • npm run typecheck doesn’t check the admin’s TSX.

The Hypermedia kit has no Inertia, and @adonisjs/inertia has no configure step. So add Inertia for /admin by hand. These two steps don’t touch your Edge pages.

  1. Add config/inertia.ts:

    config/inertia.ts
    import { defineConfig } from '@adonisjs/inertia'
    export default defineConfig({
    ssr: { enabled: false, entrypoint: 'inertia/ssr.tsx' },
    })
  2. Register the provider in adonisrc.ts:

    adonisrc.ts
    () => import('@adonisjs/inertia/inertia_provider')

Then follow Installation. Without the config file, configure stops before making changes. If you add the config but skip the provider, configure warns and continues. Opening /admin then raises E_AZU_SETUP.

The API kit isn’t supported in the preview. Its default guard issues access tokens, and its only login is a JSON endpoint. It has no Vite or Edge either.

You could add Vite, Edge, and Inertia for /admin alone. But a working panel needs a session login page, and the API kit doesn’t have one.

  • SSR: with your app’s SSR on, your pages render on the server. /admin renders in the browser. Troubleshooting explains why.
  • CSP: the panel works under Shield’s strict nonce-only policy. See Troubleshooting.
  • Your public pages never load admin code, on React, Vue, and Hypermedia alike.