Main routes

The root path redirects to /app/dashboard.

Dashboard pages live under /app and are wrapped by AppShell.

Authentication pages live under /auth/[slug] and render outside AppShell.

Documentation lives under /app/documentation and /app/documentation/[slug].

Dynamic routes

Dynamic route pages read the slug from params and look it up in a catalog map.

If the slug does not exist, the route calls notFound().

const section = componentSectionBySlug[slug];
if (!section) {
  notFound();
}

Static params

Documentation, app pages, auth pages, misc pages, and wizard examples use generateStaticParams where appropriate so known pages are statically generated.