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 →Components come from bext/ui — a faithful shadcn/ui port for bext and PRISM, styled through route_css tokens.
Explore bext/ui →A PRISM app is a folder with a bext.config.toml and a src/app/ directory. That's the whole setup.
A PRISM app is just a directory with a bext.config.toml and a src/app/. No bundler to configure, no dev server to babysit — point bext at the folder and it serves it.
[framework]
type = "prism"
[build]
live_reload = true # hot-reload on every file changeWith live_reload = true, bext recompiles and reloads the page whenever a file changes — exactly what powers the live preview on the right.
Create src/app/page.tsx with a default-exported component. The @jsxImportSource comment on the first line tells bext to use the PRISM JSX runtime.
/** @jsxImportSource @bext-stack/framework */
export default function Dashboard() {
return <h1>Dashboard</h1>;
}