RouterPRISM routing
PRISM routing

This tutorial uses PRISM file-based routing: every folder under src/app/ becomes a URL, with nested layouts and server-side loaders.

Read the routing docs →
UIbext/ui
bext/ui

Components come from bext/ui — a faithful shadcn/ui port for bext and PRISM, styled through route_css tokens.

Explore bext/ui →
FREN
Step 3 of 11 · Build the layout

File-based routing

Each src/app/**/page.tsx becomes a route. The folder path is the URL.

PRISM routes are files. A page.tsx at src/app/products/page.tsx is served at /products — the folder path is the URL. No route table, no registration.

src/app/products/page.tsx
/** @jsxImportSource @bext-stack/framework */
export default function Products() {
  return <h1>Products</h1>;
}

The dashboard needs a page per section — one folder each:

  • src/app/page.tsx/
  • src/app/products/page.tsx/products
  • src/app/orders/page.tsx/orders
  • src/app/customers/page.tsx/customers
TIP
Dynamic segments use brackets: src/app/products/[id]/page.tsx serves /products/42 and receives params.id. Full reference: file routing.
Files
src
app
products
orders
src/app/products/page.tsxread-only
localhost:3000